diff --git a/src/ifcparse/Ifc4x3_rc3.cpp b/src/ifcparse/Ifc4x3_rc3.cpp index 6724ad2b4c..8a2d9e687f 100644 --- a/src/ifcparse/Ifc4x3_rc3.cpp +++ b/src/ifcparse/Ifc4x3_rc3.cpp @@ -1300,12 +1300,14 @@ Ifc4x3_rc3::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcActionRequestTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcActionRequestTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1340,12 +1342,14 @@ Ifc4x3_rc3::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcActionSourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcActionSourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1400,12 +1404,14 @@ Ifc4x3_rc3::IfcActionTypeEnum::IfcActionTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcActionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcActionTypeEnum::IfcActionTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcActionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1438,12 +1444,14 @@ Ifc4x3_rc3::IfcActuatorTypeEnum::IfcActuatorTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcActuatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcActuatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1478,12 +1486,14 @@ Ifc4x3_rc3::IfcAddressTypeEnum::IfcAddressTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAddressTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAddressTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1516,12 +1526,14 @@ Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAirTerminalBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAirTerminalBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1554,12 +1566,14 @@ Ifc4x3_rc3::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAirTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAirTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1593,12 +1607,14 @@ Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Ifc } Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAirToAirHeatRecoveryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAirToAirHeatRecoveryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1637,12 +1653,14 @@ Ifc4x3_rc3::IfcAlarmTypeEnum::IfcAlarmTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlarmTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlarmTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1680,12 +1698,14 @@ Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(Ifc } Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentCantSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentCantSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1720,12 +1740,14 @@ Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegment } Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentHorizontalSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentHorizontalSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1763,12 +1785,14 @@ Ifc4x3_rc3::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1798,12 +1822,14 @@ Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentType } Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentVerticalSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentVerticalSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1835,12 +1861,14 @@ Ifc4x3_rc3::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAnalysisModelTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAnalysisModelTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1873,12 +1901,14 @@ Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAnalysisTheoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAnalysisTheoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1912,12 +1942,14 @@ Ifc4x3_rc3::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAnnotationTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAnnotationTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1956,12 +1988,14 @@ Ifc4x3_rc3::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(IfcEntityInstan } Ifc4x3_rc3::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcArithmeticOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcArithmeticOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1993,12 +2027,14 @@ Ifc4x3_rc3::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAssemblyPlaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAssemblyPlaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2029,12 +2065,14 @@ Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Ifc } Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAudioVisualApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAudioVisualApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2076,12 +2114,14 @@ Ifc4x3_rc3::IfcBSplineCurveForm::IfcBSplineCurveForm(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBSplineCurveForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBSplineCurveForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2115,12 +2155,14 @@ Ifc4x3_rc3::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(IfcEntityInstanceData* } Ifc4x3_rc3::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBSplineSurfaceForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBSplineSurfaceForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2159,12 +2201,14 @@ Ifc4x3_rc3::IfcBeamTypeEnum::IfcBeamTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2206,12 +2250,14 @@ Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(IfcEn } Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBearingTypeDisplacementEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBearingTypeDisplacementEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2244,12 +2290,14 @@ Ifc4x3_rc3::IfcBearingTypeEnum::IfcBearingTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcBearingTypeEnum::IfcBearingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBearingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBearingTypeEnum::IfcBearingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBearingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2287,12 +2335,14 @@ Ifc4x3_rc3::IfcBenchmarkEnum::IfcBenchmarkEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBenchmarkEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBenchmarkEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2330,12 +2380,14 @@ Ifc4x3_rc3::IfcBoilerTypeEnum::IfcBoilerTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBoilerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBoilerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2367,12 +2419,14 @@ Ifc4x3_rc3::IfcBooleanOperator::IfcBooleanOperator(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcBooleanOperator::IfcBooleanOperator(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBooleanOperator_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBooleanOperator::IfcBooleanOperator(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBooleanOperator_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2403,12 +2457,14 @@ Ifc4x3_rc3::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBridgePartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBridgePartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2448,12 +2504,14 @@ Ifc4x3_rc3::IfcBridgeTypeEnum::IfcBridgeTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcBridgeTypeEnum::IfcBridgeTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBridgeTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBridgeTypeEnum::IfcBridgeTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBridgeTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2491,12 +2549,14 @@ Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(IfcEn } Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBuildingElementPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBuildingElementPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2531,12 +2591,14 @@ Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Ifc } Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBuildingElementProxyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBuildingElementProxyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2571,12 +2633,14 @@ Ifc4x3_rc3::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBuildingSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBuildingSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2615,12 +2679,14 @@ Ifc4x3_rc3::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBuiltSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBuiltSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2662,12 +2728,14 @@ Ifc4x3_rc3::IfcBurnerTypeEnum::IfcBurnerTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBurnerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBurnerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2697,12 +2765,14 @@ Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(IfcEn } Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCableCarrierFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCableCarrierFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2736,12 +2806,14 @@ Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(IfcEn } Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCableCarrierSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCableCarrierSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2778,12 +2850,14 @@ Ifc4x3_rc3::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCableFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCableFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2819,12 +2893,14 @@ Ifc4x3_rc3::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCableSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCableSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2864,12 +2940,14 @@ Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(IfcEntity } Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCaissonFoundationTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCaissonFoundationTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2901,12 +2979,14 @@ Ifc4x3_rc3::IfcChangeActionEnum::IfcChangeActionEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcChangeActionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcChangeActionEnum::IfcChangeActionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcChangeActionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2939,12 +3019,14 @@ Ifc4x3_rc3::IfcChillerTypeEnum::IfcChillerTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcChillerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcChillerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2977,12 +3059,14 @@ Ifc4x3_rc3::IfcChimneyTypeEnum::IfcChimneyTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcChimneyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcChimneyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3012,12 +3096,14 @@ Ifc4x3_rc3::IfcCoilTypeEnum::IfcCoilTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3054,12 +3140,14 @@ Ifc4x3_rc3::IfcColumnTypeEnum::IfcColumnTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcColumnTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcColumnTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3094,12 +3182,14 @@ Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEn } Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3150,12 +3240,14 @@ Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEn } Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcComplexPropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcComplexPropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3185,12 +3277,14 @@ Ifc4x3_rc3::IfcCompressorTypeEnum::IfcCompressorTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCompressorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCompressorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3235,12 +3329,14 @@ Ifc4x3_rc3::IfcCondenserTypeEnum::IfcCondenserTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCondenserTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCondenserTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3277,12 +3373,14 @@ Ifc4x3_rc3::IfcConnectionTypeEnum::IfcConnectionTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3314,12 +3412,14 @@ Ifc4x3_rc3::IfcConstraintEnum::IfcConstraintEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcConstraintEnum::IfcConstraintEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConstraintEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcConstraintEnum::IfcConstraintEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConstraintEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3352,12 +3452,14 @@ Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentRe } Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConstructionEquipmentResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConstructionEquipmentResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3395,12 +3497,14 @@ Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialReso } Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConstructionMaterialResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConstructionMaterialResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3439,12 +3543,14 @@ Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResour } Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConstructionProductResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConstructionProductResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3476,12 +3582,14 @@ Ifc4x3_rc3::IfcControllerTypeEnum::IfcControllerTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcControllerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcControllerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3516,12 +3624,14 @@ Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(IfcEntityInst } Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConveyorSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConveyorSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3555,12 +3665,14 @@ Ifc4x3_rc3::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCooledBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCooledBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3592,12 +3704,14 @@ Ifc4x3_rc3::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCoolingTowerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCoolingTowerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3630,12 +3744,14 @@ Ifc4x3_rc3::IfcCostItemTypeEnum::IfcCostItemTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCostItemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCostItemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3665,12 +3781,14 @@ Ifc4x3_rc3::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCostScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCostScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3707,12 +3825,14 @@ Ifc4x3_rc3::IfcCourseTypeEnum::IfcCourseTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcCourseTypeEnum::IfcCourseTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCourseTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCourseTypeEnum::IfcCourseTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCourseTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3748,12 +3868,14 @@ Ifc4x3_rc3::IfcCoveringTypeEnum::IfcCoveringTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCoveringTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCoveringTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3794,12 +3916,14 @@ Ifc4x3_rc3::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCrewResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCrewResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3831,12 +3955,14 @@ Ifc4x3_rc3::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCurtainWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCurtainWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3866,12 +3992,14 @@ Ifc4x3_rc3::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(IfcEntityInstan } Ifc4x3_rc3::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCurveInterpolationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCurveInterpolationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3903,12 +4031,14 @@ Ifc4x3_rc3::IfcDamperTypeEnum::IfcDamperTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3949,12 +4079,14 @@ Ifc4x3_rc3::IfcDataOriginEnum::IfcDataOriginEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDataOriginEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDataOriginEnum::IfcDataOriginEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDataOriginEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3987,12 +4119,14 @@ Ifc4x3_rc3::IfcDerivedUnitEnum::IfcDerivedUnitEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDerivedUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDerivedUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4073,12 +4207,14 @@ Ifc4x3_rc3::IfcDirectionSenseEnum::IfcDirectionSenseEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDirectionSenseEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDirectionSenseEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4108,12 +4244,14 @@ Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(IfcEntity } Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDiscreteAccessoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDiscreteAccessoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4162,12 +4300,14 @@ Ifc4x3_rc3::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(IfcEntity } Ifc4x3_rc3::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4202,12 +4342,14 @@ Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElement } Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDistributionChamberElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDistributionChamberElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4245,12 +4387,14 @@ Ifc4x3_rc3::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(IfcEntityIn } Ifc4x3_rc3::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDistributionPortTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDistributionPortTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4285,12 +4429,14 @@ Ifc4x3_rc3::IfcDistributionSystemEnum::IfcDistributionSystemEnum(IfcEntityInstan } Ifc4x3_rc3::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDistributionSystemEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDistributionSystemEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4365,12 +4511,14 @@ Ifc4x3_rc3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(IfcEn } Ifc4x3_rc3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDocumentConfidentialityEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDocumentConfidentialityEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4404,12 +4552,14 @@ Ifc4x3_rc3::IfcDocumentStatusEnum::IfcDocumentStatusEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDocumentStatusEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDocumentStatusEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4442,12 +4592,14 @@ Ifc4x3_rc3::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(IfcEntityInstan } Ifc4x3_rc3::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4484,12 +4636,14 @@ Ifc4x3_rc3::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(IfcEntityInstance } Ifc4x3_rc3::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4521,12 +4675,14 @@ Ifc4x3_rc3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(IfcEntity } Ifc4x3_rc3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4563,12 +4719,14 @@ Ifc4x3_rc3::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(IfcEntityInstan } Ifc4x3_rc3::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4614,12 +4772,14 @@ Ifc4x3_rc3::IfcDoorTypeEnum::IfcDoorTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4654,12 +4814,14 @@ Ifc4x3_rc3::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(IfcEntityInstance } Ifc4x3_rc3::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorTypeOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDoorTypeOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4712,12 +4874,14 @@ Ifc4x3_rc3::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDuctFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDuctFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4754,12 +4918,14 @@ Ifc4x3_rc3::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDuctSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDuctSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4791,12 +4957,14 @@ Ifc4x3_rc3::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDuctSilencerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDuctSilencerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4829,12 +4997,14 @@ Ifc4x3_rc3::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEarthworksCutTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEarthworksCutTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4873,12 +5043,14 @@ Ifc4x3_rc3::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEarthworksFillTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEarthworksFillTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4915,12 +5087,14 @@ Ifc4x3_rc3::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(IfcEntity } Ifc4x3_rc3::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4966,12 +5140,14 @@ Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTy } Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5005,12 +5181,14 @@ Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTy } Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricFlowStorageDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricFlowStorageDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5049,12 +5227,14 @@ Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDevi } Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricFlowTreatmentDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricFlowTreatmentDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5085,12 +5265,14 @@ Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(IfcEntity } Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricGeneratorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricGeneratorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5123,12 +5305,14 @@ Ifc4x3_rc3::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricMotorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricMotorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5163,12 +5347,14 @@ Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(IfcEn } Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricTimeControlTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElectricTimeControlTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5201,12 +5387,14 @@ Ifc4x3_rc3::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(IfcEntityInst } Ifc4x3_rc3::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElementAssemblyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElementAssemblyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5264,12 +5452,14 @@ Ifc4x3_rc3::IfcElementCompositionEnum::IfcElementCompositionEnum(IfcEntityInstan } Ifc4x3_rc3::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElementCompositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElementCompositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5300,12 +5490,14 @@ Ifc4x3_rc3::IfcEngineTypeEnum::IfcEngineTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEngineTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEngineTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5337,12 +5529,14 @@ Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(IfcEntity } Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEvaporativeCoolerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEvaporativeCoolerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5381,12 +5575,14 @@ Ifc4x3_rc3::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEvaporatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEvaporatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5422,12 +5618,14 @@ Ifc4x3_rc3::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEventTriggerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEventTriggerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5461,12 +5659,14 @@ Ifc4x3_rc3::IfcEventTypeEnum::IfcEventTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEventTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcEventTypeEnum::IfcEventTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEventTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5499,12 +5699,14 @@ Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum } Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcExternalSpatialElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcExternalSpatialElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5538,12 +5740,14 @@ Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(IfcEnti } Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFacilityPartCommonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFacilityPartCommonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5581,12 +5785,14 @@ Ifc4x3_rc3::IfcFacilityUsageEnum::IfcFacilityUsageEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcFacilityUsageEnum::IfcFacilityUsageEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFacilityUsageEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFacilityUsageEnum::IfcFacilityUsageEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFacilityUsageEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5620,12 +5826,14 @@ Ifc4x3_rc3::IfcFanTypeEnum::IfcFanTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFanTypeEnum::IfcFanTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5662,12 +5870,14 @@ Ifc4x3_rc3::IfcFastenerTypeEnum::IfcFastenerTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5700,12 +5910,14 @@ Ifc4x3_rc3::IfcFilterTypeEnum::IfcFilterTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFilterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFilterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5741,12 +5953,14 @@ Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEn } Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFireSuppressionTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFireSuppressionTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5782,12 +5996,14 @@ Ifc4x3_rc3::IfcFlowDirectionEnum::IfcFlowDirectionEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFlowDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFlowDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5819,12 +6035,14 @@ Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFlowInstrumentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFlowInstrumentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5864,12 +6082,14 @@ Ifc4x3_rc3::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFlowMeterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFlowMeterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5903,12 +6123,14 @@ Ifc4x3_rc3::IfcFootingTypeEnum::IfcFootingTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFootingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFootingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5943,12 +6165,14 @@ Ifc4x3_rc3::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFurnitureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFurnitureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5986,12 +6210,14 @@ Ifc4x3_rc3::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(IfcEntity } Ifc4x3_rc3::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeographicElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeographicElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6023,12 +6249,14 @@ Ifc4x3_rc3::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(IfcEntityInst } Ifc4x3_rc3::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricProjectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricProjectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6065,12 +6293,14 @@ Ifc4x3_rc3::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGlobalOrLocalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGlobalOrLocalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6100,12 +6330,14 @@ Ifc4x3_rc3::IfcGridTypeEnum::IfcGridTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGridTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcGridTypeEnum::IfcGridTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGridTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6139,12 +6371,14 @@ Ifc4x3_rc3::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcHeatExchangerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcHeatExchangerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6177,12 +6411,14 @@ Ifc4x3_rc3::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcHumidifierTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcHumidifierTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6225,12 +6461,14 @@ Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum } Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcImpactProtectionDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcImpactProtectionDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6264,12 +6502,14 @@ Ifc4x3_rc3::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcInterceptorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcInterceptorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6303,12 +6543,14 @@ Ifc4x3_rc3::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(IfcEntityInstan } Ifc4x3_rc3::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcInternalOrExternalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcInternalOrExternalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6342,12 +6584,14 @@ Ifc4x3_rc3::IfcInventoryTypeEnum::IfcInventoryTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcInventoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcInventoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6380,12 +6624,14 @@ Ifc4x3_rc3::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcJunctionBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcJunctionBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6417,12 +6663,14 @@ Ifc4x3_rc3::IfcKnotType::IfcKnotType(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcKnotType::IfcKnotType(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcKnotType_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcKnotType::IfcKnotType(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcKnotType_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6454,12 +6702,14 @@ Ifc4x3_rc3::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLaborResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLaborResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6508,12 +6758,14 @@ Ifc4x3_rc3::IfcLampTypeEnum::IfcLampTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcLampTypeEnum::IfcLampTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6552,12 +6804,14 @@ Ifc4x3_rc3::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(IfcEntityInstance } Ifc4x3_rc3::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLayerSetDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLayerSetDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6588,12 +6842,14 @@ Ifc4x3_rc3::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(IfcEnti } Ifc4x3_rc3::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightDistributionCurveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightDistributionCurveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6625,12 +6881,14 @@ Ifc4x3_rc3::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(IfcEntityInst } Ifc4x3_rc3::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightEmissionSourceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightEmissionSourceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6669,12 +6927,14 @@ Ifc4x3_rc3::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightFixtureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightFixtureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6707,12 +6967,14 @@ Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLiquidTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLiquidTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6744,12 +7006,14 @@ Ifc4x3_rc3::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLoadGroupTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLoadGroupTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6782,12 +7046,14 @@ Ifc4x3_rc3::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLogicalOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLogicalOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6820,12 +7086,14 @@ Ifc4x3_rc3::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMarineFacilityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMarineFacilityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6874,12 +7142,14 @@ Ifc4x3_rc3::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMarinePartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMarinePartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6933,12 +7203,14 @@ Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(IfcEnti } Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMechanicalFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMechanicalFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6983,12 +7255,14 @@ Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMedicalDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMedicalDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7023,12 +7297,14 @@ Ifc4x3_rc3::IfcMemberTypeEnum::IfcMemberTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7077,12 +7353,14 @@ Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunica } Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMobileTelecommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMobileTelecommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7119,12 +7397,14 @@ Ifc4x3_rc3::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMooringDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMooringDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7159,12 +7439,14 @@ Ifc4x3_rc3::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(IfcEntityInst } Ifc4x3_rc3::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMotorConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMotorConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7197,12 +7479,14 @@ Ifc4x3_rc3::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(IfcEntity } Ifc4x3_rc3::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcNavigationElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcNavigationElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7234,12 +7518,14 @@ Ifc4x3_rc3::IfcObjectTypeEnum::IfcObjectTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcObjectTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcObjectTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7275,12 +7561,14 @@ Ifc4x3_rc3::IfcObjectiveEnum::IfcObjectiveEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcObjectiveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcObjectiveEnum::IfcObjectiveEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcObjectiveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7321,12 +7609,14 @@ Ifc4x3_rc3::IfcOccupantTypeEnum::IfcOccupantTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOccupantTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOccupantTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7363,12 +7653,14 @@ Ifc4x3_rc3::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOpeningElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOpeningElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7400,12 +7692,14 @@ Ifc4x3_rc3::IfcOutletTypeEnum::IfcOutletTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOutletTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOutletTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7440,12 +7734,14 @@ Ifc4x3_rc3::IfcPavementTypeEnum::IfcPavementTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcPavementTypeEnum::IfcPavementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPavementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPavementTypeEnum::IfcPavementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPavementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7477,12 +7773,14 @@ Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(IfcEnti } Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPerformanceHistoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPerformanceHistoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7512,12 +7810,14 @@ Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum } Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPermeableCoveringOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPermeableCoveringOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7550,12 +7850,14 @@ Ifc4x3_rc3::IfcPermitTypeEnum::IfcPermitTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPermitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPermitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7588,12 +7890,14 @@ Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(IfcEntityInstance } Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPhysicalOrVirtualEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPhysicalOrVirtualEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7624,12 +7928,14 @@ Ifc4x3_rc3::IfcPileConstructionEnum::IfcPileConstructionEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPileConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPileConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7663,12 +7969,14 @@ Ifc4x3_rc3::IfcPileTypeEnum::IfcPileTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPileTypeEnum::IfcPileTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7704,12 +8012,14 @@ Ifc4x3_rc3::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPipeFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPipeFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7746,12 +8056,14 @@ Ifc4x3_rc3::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPipeSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPipeSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7786,12 +8098,14 @@ Ifc4x3_rc3::IfcPlateTypeEnum::IfcPlateTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPlateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPlateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7830,12 +8144,14 @@ Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepr } Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPreferredSurfaceCurveRepresentation_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPreferredSurfaceCurveRepresentation_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7866,12 +8182,14 @@ Ifc4x3_rc3::IfcProcedureTypeEnum::IfcProcedureTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc3::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProcedureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProcedureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7908,12 +8226,14 @@ Ifc4x3_rc3::IfcProfileTypeEnum::IfcProfileTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProfileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProfileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7943,12 +8263,14 @@ Ifc4x3_rc3::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProjectOrderTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProjectOrderTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7983,12 +8305,14 @@ Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(IfcEntity } Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProjectedOrTrueLengthEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProjectedOrTrueLengthEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8018,12 +8342,14 @@ Ifc4x3_rc3::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(IfcEntity } Ifc4x3_rc3::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProjectionElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProjectionElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8055,12 +8381,14 @@ Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(IfcEn } Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertySetTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertySetTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8096,12 +8424,14 @@ Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTripping } Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProtectiveDeviceTrippingUnitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProtectiveDeviceTrippingUnitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8135,12 +8465,14 @@ Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(IfcEntityIn } Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProtectiveDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProtectiveDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8180,12 +8512,14 @@ Ifc4x3_rc3::IfcPumpTypeEnum::IfcPumpTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPumpTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPumpTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8222,12 +8556,14 @@ Ifc4x3_rc3::IfcRailTypeEnum::IfcRailTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcRailTypeEnum::IfcRailTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRailTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRailTypeEnum::IfcRailTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRailTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8263,12 +8599,14 @@ Ifc4x3_rc3::IfcRailingTypeEnum::IfcRailingTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRailingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRailingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8302,12 +8640,14 @@ Ifc4x3_rc3::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRailwayPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRailwayPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8345,12 +8685,14 @@ Ifc4x3_rc3::IfcRailwayTypeEnum::IfcRailwayTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcRailwayTypeEnum::IfcRailwayTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRailwayTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRailwayTypeEnum::IfcRailwayTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRailwayTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8380,12 +8722,14 @@ Ifc4x3_rc3::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRampFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRampFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8417,12 +8761,14 @@ Ifc4x3_rc3::IfcRampTypeEnum::IfcRampTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRampTypeEnum::IfcRampTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8458,12 +8804,14 @@ Ifc4x3_rc3::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRecurrenceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRecurrenceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8499,12 +8847,14 @@ Ifc4x3_rc3::IfcReferentTypeEnum::IfcReferentTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcReferentTypeEnum::IfcReferentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReferentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReferentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8538,12 +8888,14 @@ Ifc4x3_rc3::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(IfcEntityInstance } Ifc4x3_rc3::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReflectanceMethodEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReflectanceMethodEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8581,12 +8933,14 @@ Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcedSoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcedSoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8622,12 +8976,14 @@ Ifc4x3_rc3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(IfcEntityInstan } Ifc4x3_rc3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8665,12 +9021,14 @@ Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(IfcEntity } Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarSurfaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarSurfaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8700,12 +9058,14 @@ Ifc4x3_rc3::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingBarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8744,12 +9104,14 @@ Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(IfcEntityInst } Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingMeshTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingMeshTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8779,12 +9141,14 @@ Ifc4x3_rc3::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRoadPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRoadPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8838,12 +9202,14 @@ Ifc4x3_rc3::IfcRoadTypeEnum::IfcRoadTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcRoadTypeEnum::IfcRoadTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRoadTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRoadTypeEnum::IfcRoadTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRoadTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8873,12 +9239,14 @@ Ifc4x3_rc3::IfcRoleEnum::IfcRoleEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcRoleEnum::IfcRoleEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRoleEnum::IfcRoleEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8929,12 +9297,14 @@ Ifc4x3_rc3::IfcRoofTypeEnum::IfcRoofTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRoofTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRoofTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8977,12 +9347,14 @@ Ifc4x3_rc3::IfcSIPrefix::IfcSIPrefix(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSIPrefix::IfcSIPrefix(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSIPrefix_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSIPrefix::IfcSIPrefix(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSIPrefix_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9026,12 +9398,14 @@ Ifc4x3_rc3::IfcSIUnitName::IfcSIUnitName(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSIUnitName::IfcSIUnitName(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSIUnitName_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSIUnitName::IfcSIUnitName(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSIUnitName_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9089,12 +9463,14 @@ Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(IfcEntityIn } Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSanitaryTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSanitaryTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9134,12 +9510,14 @@ Ifc4x3_rc3::IfcSectionTypeEnum::IfcSectionTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9169,12 +9547,14 @@ Ifc4x3_rc3::IfcSensorTypeEnum::IfcSensorTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSensorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSensorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9236,12 +9616,14 @@ Ifc4x3_rc3::IfcSequenceEnum::IfcSequenceEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSequenceEnum::IfcSequenceEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSequenceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSequenceEnum::IfcSequenceEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSequenceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9275,12 +9657,14 @@ Ifc4x3_rc3::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcShadingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcShadingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9313,12 +9697,14 @@ Ifc4x3_rc3::IfcSignTypeEnum::IfcSignTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSignTypeEnum::IfcSignTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSignTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSignTypeEnum::IfcSignTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSignTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9351,12 +9737,14 @@ Ifc4x3_rc3::IfcSignalTypeEnum::IfcSignalTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSignalTypeEnum::IfcSignalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSignalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSignalTypeEnum::IfcSignalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSignalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9389,12 +9777,14 @@ Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum } Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSimplePropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSimplePropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9434,12 +9824,14 @@ Ifc4x3_rc3::IfcSlabTypeEnum::IfcSlabTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSlabTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSlabTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9478,12 +9870,14 @@ Ifc4x3_rc3::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSolarDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSolarDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9515,12 +9909,14 @@ Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSpaceHeaterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSpaceHeaterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9552,12 +9948,14 @@ Ifc4x3_rc3::IfcSpaceTypeEnum::IfcSpaceTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSpaceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSpaceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9593,12 +9991,14 @@ Ifc4x3_rc3::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSpatialZoneTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSpatialZoneTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9637,12 +10037,14 @@ Ifc4x3_rc3::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStackTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStackTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9675,12 +10077,14 @@ Ifc4x3_rc3::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStairFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStairFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9715,12 +10119,14 @@ Ifc4x3_rc3::IfcStairTypeEnum::IfcStairTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStairTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcStairTypeEnum::IfcStairTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStairTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9765,12 +10171,14 @@ Ifc4x3_rc3::IfcStateEnum::IfcStateEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcStateEnum::IfcStateEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStateEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcStateEnum::IfcStateEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStateEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9803,12 +10211,14 @@ Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEn } Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralCurveActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralCurveActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9845,12 +10255,14 @@ Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(I } Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralCurveMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralCurveMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9885,12 +10297,14 @@ Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTy } Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralSurfaceActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralSurfaceActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9924,12 +10338,14 @@ Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEn } Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralSurfaceMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralSurfaceMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9962,12 +10378,14 @@ Ifc4x3_rc3::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(IfcEn } Ifc4x3_rc3::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSubContractResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSubContractResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9999,12 +10417,14 @@ Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10045,12 +10465,14 @@ Ifc4x3_rc3::IfcSurfaceSide::IfcSurfaceSide(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcSurfaceSide::IfcSurfaceSide(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceSide_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSurfaceSide::IfcSurfaceSide(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceSide_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10081,12 +10503,14 @@ Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(IfcEntityInst } Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSwitchingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSwitchingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10127,12 +10551,14 @@ Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum } Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSystemFurnitureElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSystemFurnitureElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10165,12 +10591,14 @@ Ifc4x3_rc3::IfcTankTypeEnum::IfcTankTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTankTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTankTypeEnum::IfcTankTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTankTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10208,12 +10636,14 @@ Ifc4x3_rc3::IfcTaskDurationEnum::IfcTaskDurationEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTaskDurationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTaskDurationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10244,12 +10674,14 @@ Ifc4x3_rc3::IfcTaskTypeEnum::IfcTaskTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTaskTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTaskTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10291,12 +10723,14 @@ Ifc4x3_rc3::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTendonAnchorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTendonAnchorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10329,12 +10763,14 @@ Ifc4x3_rc3::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTendonConduitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTendonConduitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10369,12 +10805,14 @@ Ifc4x3_rc3::IfcTendonTypeEnum::IfcTendonTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTendonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTendonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10408,12 +10846,14 @@ Ifc4x3_rc3::IfcTextPath::IfcTextPath(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcTextPath::IfcTextPath(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTextPath_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTextPath::IfcTextPath(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTextPath_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10445,12 +10885,14 @@ Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTimeSeriesDataTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTimeSeriesDataTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10485,12 +10927,14 @@ Ifc4x3_rc3::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTrackElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTrackElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10528,12 +10972,14 @@ Ifc4x3_rc3::IfcTransformerTypeEnum::IfcTransformerTypeEnum(IfcEntityInstanceData } Ifc4x3_rc3::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransformerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransformerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10570,12 +11016,14 @@ Ifc4x3_rc3::IfcTransitionCode::IfcTransitionCode(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcTransitionCode::IfcTransitionCode(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransitionCode_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTransitionCode::IfcTransitionCode(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransitionCode_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10607,12 +11055,14 @@ Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(I } Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransportElementFixedTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransportElementFixedTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10648,12 +11098,14 @@ Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedType } Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransportElementNonFixedTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransportElementNonFixedTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10690,12 +11142,14 @@ Ifc4x3_rc3::IfcTrimmingPreference::IfcTrimmingPreference(IfcEntityInstanceData* } Ifc4x3_rc3::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTrimmingPreference_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTrimmingPreference::IfcTrimmingPreference(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTrimmingPreference_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10726,12 +11180,14 @@ Ifc4x3_rc3::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc3::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTubeBundleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTubeBundleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10762,12 +11218,14 @@ Ifc4x3_rc3::IfcUnitEnum::IfcUnitEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcUnitEnum::IfcUnitEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcUnitEnum::IfcUnitEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10825,12 +11283,14 @@ Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(I } Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitaryControlElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitaryControlElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10869,12 +11329,14 @@ Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(IfcEntityIn } Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitaryEquipmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcUnitaryEquipmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10909,12 +11371,14 @@ Ifc4x3_rc3::IfcValveTypeEnum::IfcValveTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcValveTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcValveTypeEnum::IfcValveTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcValveTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10965,12 +11429,14 @@ Ifc4x3_rc3::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(IfcEntityInst } Ifc4x3_rc3::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcVibrationDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcVibrationDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11006,12 +11472,14 @@ Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(IfcEntity } Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcVibrationIsolatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcVibrationIsolatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11044,12 +11512,14 @@ Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(IfcEntityInstan } Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcVoidingFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcVoidingFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11085,12 +11555,14 @@ Ifc4x3_rc3::IfcWallTypeEnum::IfcWallTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWallTypeEnum::IfcWallTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11131,12 +11603,14 @@ Ifc4x3_rc3::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(IfcEntityInstance } Ifc4x3_rc3::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWasteTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWasteTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11173,12 +11647,14 @@ Ifc4x3_rc3::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(IfcEntityIn } Ifc4x3_rc3::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11220,12 +11696,14 @@ Ifc4x3_rc3::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(IfcEntityInst } Ifc4x3_rc3::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11259,12 +11737,14 @@ Ifc4x3_rc3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(IfcEn } Ifc4x3_rc3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11300,12 +11780,14 @@ Ifc4x3_rc3::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(IfcEntityIn } Ifc4x3_rc3::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11344,12 +11826,14 @@ Ifc4x3_rc3::IfcWindowTypeEnum::IfcWindowTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11382,12 +11866,14 @@ Ifc4x3_rc3::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(IfcEnti } Ifc4x3_rc3::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowTypePartitioningEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWindowTypePartitioningEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11426,12 +11912,14 @@ Ifc4x3_rc3::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWorkCalendarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWorkCalendarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11464,12 +11952,14 @@ Ifc4x3_rc3::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc3::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWorkPlanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWorkPlanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11502,12 +11992,14 @@ Ifc4x3_rc3::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc3::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWorkScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc3::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWorkScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); diff --git a/src/ifcparse/Ifc4x3_rc4-definitions.h b/src/ifcparse/Ifc4x3_rc4-definitions.h index 1965168981..eaf23341c5 100644 --- a/src/ifcparse/Ifc4x3_rc4-definitions.h +++ b/src/ifcparse/Ifc4x3_rc4-definitions.h @@ -1,3 +1,28 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ #define SCHEMA_HAS_IfcAbsorbedDoseMeasure #define SCHEMA_HAS_IfcAccelerationMeasure @@ -1104,6 +1129,7 @@ #define SCHEMA_HAS_IfcCosine #define SCHEMA_IfcCosine_HAS_CosineTerm #define SCHEMA_IfcCosine_HAS_ConstantTerm +#define SCHEMA_IfcCosine_ConstantTerm_IS_OPTIONAL #define SCHEMA_HAS_IfcCostItem #define SCHEMA_IfcCostItem_HAS_PredefinedType #define SCHEMA_IfcCostItem_PredefinedType_IS_OPTIONAL @@ -1229,12 +1255,6 @@ #define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_EndParam #define SCHEMA_IfcDirectrixCurveSweptAreaSolid_EndParam_IS_OPTIONAL #define SCHEMA_HAS_IfcDirectrixDerivedReferenceSweptAreaSolid -#define SCHEMA_HAS_IfcDirectrixDistanceSweptAreaSolid -#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_Directrix -#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_StartDistance -#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_StartDistance_IS_OPTIONAL -#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_EndDistance -#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_EndDistance_IS_OPTIONAL #define SCHEMA_HAS_IfcDiscreteAccessory #define SCHEMA_IfcDiscreteAccessory_HAS_PredefinedType #define SCHEMA_IfcDiscreteAccessory_PredefinedType_IS_OPTIONAL @@ -1461,6 +1481,7 @@ #define SCHEMA_IfcElement_HAS_ConnectedFrom #define SCHEMA_IfcElement_HAS_ContainedInStructure #define SCHEMA_IfcElement_HAS_HasCoverings +#define SCHEMA_IfcElement_HAS_HasSurfaceFeatures #define SCHEMA_HAS_IfcElementAssembly #define SCHEMA_IfcElementAssembly_HAS_AssemblyPlace #define SCHEMA_IfcElementAssembly_AssemblyPlace_IS_OPTIONAL @@ -1756,9 +1777,6 @@ #define SCHEMA_IfcImpactProtectionDevice_PredefinedType_IS_OPTIONAL #define SCHEMA_HAS_IfcImpactProtectionDeviceType #define SCHEMA_IfcImpactProtectionDeviceType_HAS_PredefinedType -#define SCHEMA_HAS_IfcInclinedReferenceSweptAreaSolid -#define SCHEMA_IfcInclinedReferenceSweptAreaSolid_HAS_FixedAxisVertical -#define SCHEMA_IfcInclinedReferenceSweptAreaSolid_FixedAxisVertical_IS_OPTIONAL #define SCHEMA_HAS_IfcIndexedColourMap #define SCHEMA_IfcIndexedColourMap_HAS_MappedTo #define SCHEMA_IfcIndexedColourMap_HAS_Opacity @@ -2757,6 +2775,9 @@ #define SCHEMA_IfcReinforcingMeshType_BendingShapeCode_IS_OPTIONAL #define SCHEMA_IfcReinforcingMeshType_HAS_BendingParameters #define SCHEMA_IfcReinforcingMeshType_BendingParameters_IS_OPTIONAL +#define SCHEMA_HAS_IfcRelAdheresToElement +#define SCHEMA_IfcRelAdheresToElement_HAS_RelatingElement +#define SCHEMA_IfcRelAdheresToElement_HAS_RelatedSurfaceFeatures #define SCHEMA_HAS_IfcRelAggregates #define SCHEMA_IfcRelAggregates_HAS_RelatingObject #define SCHEMA_IfcRelAggregates_HAS_RelatedObjects @@ -2876,6 +2897,8 @@ #define SCHEMA_IfcRelInterferesElements_HAS_RelatedElement #define SCHEMA_IfcRelInterferesElements_HAS_InterferenceGeometry #define SCHEMA_IfcRelInterferesElements_InterferenceGeometry_IS_OPTIONAL +#define SCHEMA_IfcRelInterferesElements_HAS_InterferenceSpace +#define SCHEMA_IfcRelInterferesElements_InterferenceSpace_IS_OPTIONAL #define SCHEMA_IfcRelInterferesElements_HAS_InterferenceType #define SCHEMA_IfcRelInterferesElements_InterferenceType_IS_OPTIONAL #define SCHEMA_IfcRelInterferesElements_HAS_ImpliedOrder @@ -3155,6 +3178,9 @@ #define SCHEMA_HAS_IfcSine #define SCHEMA_IfcSine_HAS_SineTerm #define SCHEMA_IfcSine_HAS_LinearTerm +#define SCHEMA_IfcSine_LinearTerm_IS_OPTIONAL +#define SCHEMA_IfcSine_HAS_ConstantTerm +#define SCHEMA_IfcSine_ConstantTerm_IS_OPTIONAL #define SCHEMA_HAS_IfcSite #define SCHEMA_IfcSite_HAS_RefLatitude #define SCHEMA_IfcSite_RefLatitude_IS_OPTIONAL @@ -3425,6 +3451,7 @@ #define SCHEMA_HAS_IfcSurfaceFeature #define SCHEMA_IfcSurfaceFeature_HAS_PredefinedType #define SCHEMA_IfcSurfaceFeature_PredefinedType_IS_OPTIONAL +#define SCHEMA_IfcSurfaceFeature_HAS_AdheresToElement #define SCHEMA_HAS_IfcSurfaceOfLinearExtrusion #define SCHEMA_IfcSurfaceOfLinearExtrusion_HAS_ExtrudedDirection #define SCHEMA_IfcSurfaceOfLinearExtrusion_HAS_Depth @@ -3720,7 +3747,7 @@ #define SCHEMA_HAS_IfcTextureVertexList #define SCHEMA_IfcTextureVertexList_HAS_TexCoordsList #define SCHEMA_HAS_IfcThirdOrderPolynomialSpiral -#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_QubicTerm +#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_CubicTerm #define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_QuadraticTerm #define SCHEMA_IfcThirdOrderPolynomialSpiral_QuadraticTerm_IS_OPTIONAL #define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_LinearTerm diff --git a/src/ifcparse/Ifc4x3_rc4-schema.cpp b/src/ifcparse/Ifc4x3_rc4-schema.cpp index 729356885f..edab421d43 100644 --- a/src/ifcparse/Ifc4x3_rc4-schema.cpp +++ b/src/ifcparse/Ifc4x3_rc4-schema.cpp @@ -1,3 +1,28 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ #include "../ifcparse/IfcSchema.h" #include "../ifcparse/Ifc4x3_rc4.h" @@ -207,7 +232,6 @@ entity* IFC4X3_RC4_IfcDimensionalExponents_type = 0; entity* IFC4X3_RC4_IfcDirection_type = 0; entity* IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type = 0; entity* IFC4X3_RC4_IfcDirectrixDerivedReferenceSweptAreaSolid_type = 0; -entity* IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type = 0; entity* IFC4X3_RC4_IfcDiscreteAccessory_type = 0; entity* IFC4X3_RC4_IfcDiscreteAccessoryType_type = 0; entity* IFC4X3_RC4_IfcDistributionBoard_type = 0; @@ -367,7 +391,6 @@ entity* IFC4X3_RC4_IfcIShapeProfileDef_type = 0; entity* IFC4X3_RC4_IfcImageTexture_type = 0; entity* IFC4X3_RC4_IfcImpactProtectionDevice_type = 0; entity* IFC4X3_RC4_IfcImpactProtectionDeviceType_type = 0; -entity* IFC4X3_RC4_IfcInclinedReferenceSweptAreaSolid_type = 0; entity* IFC4X3_RC4_IfcIndexedColourMap_type = 0; entity* IFC4X3_RC4_IfcIndexedPolyCurve_type = 0; entity* IFC4X3_RC4_IfcIndexedPolygonalFace_type = 0; @@ -594,6 +617,7 @@ entity* IFC4X3_RC4_IfcReinforcingElement_type = 0; entity* IFC4X3_RC4_IfcReinforcingElementType_type = 0; entity* IFC4X3_RC4_IfcReinforcingMesh_type = 0; entity* IFC4X3_RC4_IfcReinforcingMeshType_type = 0; +entity* IFC4X3_RC4_IfcRelAdheresToElement_type = 0; entity* IFC4X3_RC4_IfcRelAggregates_type = 0; entity* IFC4X3_RC4_IfcRelAssigns_type = 0; entity* IFC4X3_RC4_IfcRelAssignsToActor_type = 0; @@ -1618,966 +1642,965 @@ class IFC4X3_RC4_instance_factory : public IfcParse::instance_factory { case 308: return new ::Ifc4x3_rc4::IfcDirectionSenseEnum(data); case 309: return new ::Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid(data); case 310: return new ::Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid(data); - case 311: return new ::Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid(data); - case 312: return new ::Ifc4x3_rc4::IfcDiscreteAccessory(data); - case 313: return new ::Ifc4x3_rc4::IfcDiscreteAccessoryType(data); - case 314: return new ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum(data); - case 315: return new ::Ifc4x3_rc4::IfcDistributionBoard(data); - case 316: return new ::Ifc4x3_rc4::IfcDistributionBoardType(data); - case 317: return new ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum(data); - case 318: return new ::Ifc4x3_rc4::IfcDistributionChamberElement(data); - case 319: return new ::Ifc4x3_rc4::IfcDistributionChamberElementType(data); - case 320: return new ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum(data); - case 321: return new ::Ifc4x3_rc4::IfcDistributionCircuit(data); - case 322: return new ::Ifc4x3_rc4::IfcDistributionControlElement(data); - case 323: return new ::Ifc4x3_rc4::IfcDistributionControlElementType(data); - case 324: return new ::Ifc4x3_rc4::IfcDistributionElement(data); - case 325: return new ::Ifc4x3_rc4::IfcDistributionElementType(data); - case 326: return new ::Ifc4x3_rc4::IfcDistributionFlowElement(data); - case 327: return new ::Ifc4x3_rc4::IfcDistributionFlowElementType(data); - case 328: return new ::Ifc4x3_rc4::IfcDistributionPort(data); - case 329: return new ::Ifc4x3_rc4::IfcDistributionPortTypeEnum(data); - case 330: return new ::Ifc4x3_rc4::IfcDistributionSystem(data); - case 331: return new ::Ifc4x3_rc4::IfcDistributionSystemEnum(data); - case 332: return new ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum(data); - case 333: return new ::Ifc4x3_rc4::IfcDocumentInformation(data); - case 334: return new ::Ifc4x3_rc4::IfcDocumentInformationRelationship(data); - case 335: return new ::Ifc4x3_rc4::IfcDocumentReference(data); - case 337: return new ::Ifc4x3_rc4::IfcDocumentStatusEnum(data); - case 338: return new ::Ifc4x3_rc4::IfcDoor(data); - case 339: return new ::Ifc4x3_rc4::IfcDoorLiningProperties(data); - case 340: return new ::Ifc4x3_rc4::IfcDoorPanelOperationEnum(data); - case 341: return new ::Ifc4x3_rc4::IfcDoorPanelPositionEnum(data); - case 342: return new ::Ifc4x3_rc4::IfcDoorPanelProperties(data); - case 343: return new ::Ifc4x3_rc4::IfcDoorStandardCase(data); - case 344: return new ::Ifc4x3_rc4::IfcDoorStyle(data); - case 345: return new ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum(data); - case 346: return new ::Ifc4x3_rc4::IfcDoorStyleOperationEnum(data); - case 347: return new ::Ifc4x3_rc4::IfcDoorType(data); - case 348: return new ::Ifc4x3_rc4::IfcDoorTypeEnum(data); - case 349: return new ::Ifc4x3_rc4::IfcDoorTypeOperationEnum(data); - case 350: return new ::Ifc4x3_rc4::IfcDoseEquivalentMeasure(data); - case 351: return new ::Ifc4x3_rc4::IfcDraughtingPreDefinedColour(data); - case 352: return new ::Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont(data); - case 353: return new ::Ifc4x3_rc4::IfcDuctFitting(data); - case 354: return new ::Ifc4x3_rc4::IfcDuctFittingType(data); - case 355: return new ::Ifc4x3_rc4::IfcDuctFittingTypeEnum(data); - case 356: return new ::Ifc4x3_rc4::IfcDuctSegment(data); - case 357: return new ::Ifc4x3_rc4::IfcDuctSegmentType(data); - case 358: return new ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum(data); - case 359: return new ::Ifc4x3_rc4::IfcDuctSilencer(data); - case 360: return new ::Ifc4x3_rc4::IfcDuctSilencerType(data); - case 361: return new ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum(data); - case 362: return new ::Ifc4x3_rc4::IfcDuration(data); - case 363: return new ::Ifc4x3_rc4::IfcDynamicViscosityMeasure(data); - case 364: return new ::Ifc4x3_rc4::IfcEarthworksCut(data); - case 365: return new ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum(data); - case 366: return new ::Ifc4x3_rc4::IfcEarthworksElement(data); - case 367: return new ::Ifc4x3_rc4::IfcEarthworksFill(data); - case 368: return new ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum(data); - case 369: return new ::Ifc4x3_rc4::IfcEdge(data); - case 370: return new ::Ifc4x3_rc4::IfcEdgeCurve(data); - case 371: return new ::Ifc4x3_rc4::IfcEdgeLoop(data); - case 372: return new ::Ifc4x3_rc4::IfcElectricAppliance(data); - case 373: return new ::Ifc4x3_rc4::IfcElectricApplianceType(data); - case 374: return new ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum(data); - case 375: return new ::Ifc4x3_rc4::IfcElectricCapacitanceMeasure(data); - case 376: return new ::Ifc4x3_rc4::IfcElectricChargeMeasure(data); - case 377: return new ::Ifc4x3_rc4::IfcElectricConductanceMeasure(data); - case 378: return new ::Ifc4x3_rc4::IfcElectricCurrentMeasure(data); - case 379: return new ::Ifc4x3_rc4::IfcElectricDistributionBoard(data); - case 380: return new ::Ifc4x3_rc4::IfcElectricDistributionBoardType(data); - case 381: return new ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum(data); - case 382: return new ::Ifc4x3_rc4::IfcElectricFlowStorageDevice(data); - case 383: return new ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceType(data); - case 384: return new ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum(data); - case 385: return new ::Ifc4x3_rc4::IfcElectricFlowTreatmentDevice(data); - case 386: return new ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType(data); - case 387: return new ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum(data); - case 388: return new ::Ifc4x3_rc4::IfcElectricGenerator(data); - case 389: return new ::Ifc4x3_rc4::IfcElectricGeneratorType(data); - case 390: return new ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum(data); - case 391: return new ::Ifc4x3_rc4::IfcElectricMotor(data); - case 392: return new ::Ifc4x3_rc4::IfcElectricMotorType(data); - case 393: return new ::Ifc4x3_rc4::IfcElectricMotorTypeEnum(data); - case 394: return new ::Ifc4x3_rc4::IfcElectricResistanceMeasure(data); - case 395: return new ::Ifc4x3_rc4::IfcElectricTimeControl(data); - case 396: return new ::Ifc4x3_rc4::IfcElectricTimeControlType(data); - case 397: return new ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum(data); - case 398: return new ::Ifc4x3_rc4::IfcElectricVoltageMeasure(data); - case 399: return new ::Ifc4x3_rc4::IfcElement(data); - case 400: return new ::Ifc4x3_rc4::IfcElementarySurface(data); - case 401: return new ::Ifc4x3_rc4::IfcElementAssembly(data); - case 402: return new ::Ifc4x3_rc4::IfcElementAssemblyType(data); - case 403: return new ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum(data); - case 404: return new ::Ifc4x3_rc4::IfcElementComponent(data); - case 405: return new ::Ifc4x3_rc4::IfcElementComponentType(data); - case 406: return new ::Ifc4x3_rc4::IfcElementCompositionEnum(data); - case 407: return new ::Ifc4x3_rc4::IfcElementQuantity(data); - case 408: return new ::Ifc4x3_rc4::IfcElementType(data); - case 409: return new ::Ifc4x3_rc4::IfcEllipse(data); - case 410: return new ::Ifc4x3_rc4::IfcEllipseProfileDef(data); - case 411: return new ::Ifc4x3_rc4::IfcEnergyConversionDevice(data); - case 412: return new ::Ifc4x3_rc4::IfcEnergyConversionDeviceType(data); - case 413: return new ::Ifc4x3_rc4::IfcEnergyMeasure(data); - case 414: return new ::Ifc4x3_rc4::IfcEngine(data); - case 415: return new ::Ifc4x3_rc4::IfcEngineType(data); - case 416: return new ::Ifc4x3_rc4::IfcEngineTypeEnum(data); - case 417: return new ::Ifc4x3_rc4::IfcEvaporativeCooler(data); - case 418: return new ::Ifc4x3_rc4::IfcEvaporativeCoolerType(data); - case 419: return new ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum(data); - case 420: return new ::Ifc4x3_rc4::IfcEvaporator(data); - case 421: return new ::Ifc4x3_rc4::IfcEvaporatorType(data); - case 422: return new ::Ifc4x3_rc4::IfcEvaporatorTypeEnum(data); - case 423: return new ::Ifc4x3_rc4::IfcEvent(data); - case 424: return new ::Ifc4x3_rc4::IfcEventTime(data); - case 425: return new ::Ifc4x3_rc4::IfcEventTriggerTypeEnum(data); - case 426: return new ::Ifc4x3_rc4::IfcEventType(data); - case 427: return new ::Ifc4x3_rc4::IfcEventTypeEnum(data); - case 428: return new ::Ifc4x3_rc4::IfcExtendedProperties(data); - case 429: return new ::Ifc4x3_rc4::IfcExternalInformation(data); - case 430: return new ::Ifc4x3_rc4::IfcExternallyDefinedHatchStyle(data); - case 431: return new ::Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle(data); - case 432: return new ::Ifc4x3_rc4::IfcExternallyDefinedTextFont(data); - case 433: return new ::Ifc4x3_rc4::IfcExternalReference(data); - case 434: return new ::Ifc4x3_rc4::IfcExternalReferenceRelationship(data); - case 435: return new ::Ifc4x3_rc4::IfcExternalSpatialElement(data); - case 436: return new ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum(data); - case 437: return new ::Ifc4x3_rc4::IfcExternalSpatialStructureElement(data); - case 438: return new ::Ifc4x3_rc4::IfcExtrudedAreaSolid(data); - case 439: return new ::Ifc4x3_rc4::IfcExtrudedAreaSolidTapered(data); - case 440: return new ::Ifc4x3_rc4::IfcFace(data); - case 441: return new ::Ifc4x3_rc4::IfcFaceBasedSurfaceModel(data); - case 442: return new ::Ifc4x3_rc4::IfcFaceBound(data); - case 443: return new ::Ifc4x3_rc4::IfcFaceOuterBound(data); - case 444: return new ::Ifc4x3_rc4::IfcFaceSurface(data); - case 445: return new ::Ifc4x3_rc4::IfcFacetedBrep(data); - case 446: return new ::Ifc4x3_rc4::IfcFacetedBrepWithVoids(data); - case 447: return new ::Ifc4x3_rc4::IfcFacility(data); - case 448: return new ::Ifc4x3_rc4::IfcFacilityPart(data); - case 449: return new ::Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum(data); - case 451: return new ::Ifc4x3_rc4::IfcFacilityUsageEnum(data); - case 452: return new ::Ifc4x3_rc4::IfcFailureConnectionCondition(data); - case 453: return new ::Ifc4x3_rc4::IfcFan(data); - case 454: return new ::Ifc4x3_rc4::IfcFanType(data); - case 455: return new ::Ifc4x3_rc4::IfcFanTypeEnum(data); - case 456: return new ::Ifc4x3_rc4::IfcFastener(data); - case 457: return new ::Ifc4x3_rc4::IfcFastenerType(data); - case 458: return new ::Ifc4x3_rc4::IfcFastenerTypeEnum(data); - case 459: return new ::Ifc4x3_rc4::IfcFeatureElement(data); - case 460: return new ::Ifc4x3_rc4::IfcFeatureElementAddition(data); - case 461: return new ::Ifc4x3_rc4::IfcFeatureElementSubtraction(data); - case 462: return new ::Ifc4x3_rc4::IfcFillAreaStyle(data); - case 463: return new ::Ifc4x3_rc4::IfcFillAreaStyleHatching(data); - case 464: return new ::Ifc4x3_rc4::IfcFillAreaStyleTiles(data); - case 466: return new ::Ifc4x3_rc4::IfcFilter(data); - case 467: return new ::Ifc4x3_rc4::IfcFilterType(data); - case 468: return new ::Ifc4x3_rc4::IfcFilterTypeEnum(data); - case 469: return new ::Ifc4x3_rc4::IfcFireSuppressionTerminal(data); - case 470: return new ::Ifc4x3_rc4::IfcFireSuppressionTerminalType(data); - case 471: return new ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum(data); - case 472: return new ::Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid(data); - case 473: return new ::Ifc4x3_rc4::IfcFlowController(data); - case 474: return new ::Ifc4x3_rc4::IfcFlowControllerType(data); - case 475: return new ::Ifc4x3_rc4::IfcFlowDirectionEnum(data); - case 476: return new ::Ifc4x3_rc4::IfcFlowFitting(data); - case 477: return new ::Ifc4x3_rc4::IfcFlowFittingType(data); - case 478: return new ::Ifc4x3_rc4::IfcFlowInstrument(data); - case 479: return new ::Ifc4x3_rc4::IfcFlowInstrumentType(data); - case 480: return new ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum(data); - case 481: return new ::Ifc4x3_rc4::IfcFlowMeter(data); - case 482: return new ::Ifc4x3_rc4::IfcFlowMeterType(data); - case 483: return new ::Ifc4x3_rc4::IfcFlowMeterTypeEnum(data); - case 484: return new ::Ifc4x3_rc4::IfcFlowMovingDevice(data); - case 485: return new ::Ifc4x3_rc4::IfcFlowMovingDeviceType(data); - case 486: return new ::Ifc4x3_rc4::IfcFlowSegment(data); - case 487: return new ::Ifc4x3_rc4::IfcFlowSegmentType(data); - case 488: return new ::Ifc4x3_rc4::IfcFlowStorageDevice(data); - case 489: return new ::Ifc4x3_rc4::IfcFlowStorageDeviceType(data); - case 490: return new ::Ifc4x3_rc4::IfcFlowTerminal(data); - case 491: return new ::Ifc4x3_rc4::IfcFlowTerminalType(data); - case 492: return new ::Ifc4x3_rc4::IfcFlowTreatmentDevice(data); - case 493: return new ::Ifc4x3_rc4::IfcFlowTreatmentDeviceType(data); - case 494: return new ::Ifc4x3_rc4::IfcFontStyle(data); - case 495: return new ::Ifc4x3_rc4::IfcFontVariant(data); - case 496: return new ::Ifc4x3_rc4::IfcFontWeight(data); - case 497: return new ::Ifc4x3_rc4::IfcFooting(data); - case 498: return new ::Ifc4x3_rc4::IfcFootingType(data); - case 499: return new ::Ifc4x3_rc4::IfcFootingTypeEnum(data); - case 500: return new ::Ifc4x3_rc4::IfcForceMeasure(data); - case 501: return new ::Ifc4x3_rc4::IfcFrequencyMeasure(data); - case 502: return new ::Ifc4x3_rc4::IfcFurnishingElement(data); - case 503: return new ::Ifc4x3_rc4::IfcFurnishingElementType(data); - case 504: return new ::Ifc4x3_rc4::IfcFurniture(data); - case 505: return new ::Ifc4x3_rc4::IfcFurnitureType(data); - case 506: return new ::Ifc4x3_rc4::IfcFurnitureTypeEnum(data); - case 507: return new ::Ifc4x3_rc4::IfcGeographicElement(data); - case 508: return new ::Ifc4x3_rc4::IfcGeographicElementType(data); - case 509: return new ::Ifc4x3_rc4::IfcGeographicElementTypeEnum(data); - case 510: return new ::Ifc4x3_rc4::IfcGeometricCurveSet(data); - case 511: return new ::Ifc4x3_rc4::IfcGeometricProjectionEnum(data); - case 512: return new ::Ifc4x3_rc4::IfcGeometricRepresentationContext(data); - case 513: return new ::Ifc4x3_rc4::IfcGeometricRepresentationItem(data); - case 514: return new ::Ifc4x3_rc4::IfcGeometricRepresentationSubContext(data); - case 515: return new ::Ifc4x3_rc4::IfcGeometricSet(data); - case 517: return new ::Ifc4x3_rc4::IfcGeomodel(data); - case 518: return new ::Ifc4x3_rc4::IfcGeoslice(data); - case 519: return new ::Ifc4x3_rc4::IfcGeotechnicalAssembly(data); - case 520: return new ::Ifc4x3_rc4::IfcGeotechnicalElement(data); - case 521: return new ::Ifc4x3_rc4::IfcGeotechnicalStratum(data); - case 522: return new ::Ifc4x3_rc4::IfcGloballyUniqueId(data); - case 523: return new ::Ifc4x3_rc4::IfcGlobalOrLocalEnum(data); - case 524: return new ::Ifc4x3_rc4::IfcGradientCurve(data); - case 525: return new ::Ifc4x3_rc4::IfcGrid(data); - case 526: return new ::Ifc4x3_rc4::IfcGridAxis(data); - case 527: return new ::Ifc4x3_rc4::IfcGridPlacement(data); - case 529: return new ::Ifc4x3_rc4::IfcGridTypeEnum(data); - case 530: return new ::Ifc4x3_rc4::IfcGroup(data); - case 531: return new ::Ifc4x3_rc4::IfcHalfSpaceSolid(data); - case 533: return new ::Ifc4x3_rc4::IfcHeatExchanger(data); - case 534: return new ::Ifc4x3_rc4::IfcHeatExchangerType(data); - case 535: return new ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum(data); - case 536: return new ::Ifc4x3_rc4::IfcHeatFluxDensityMeasure(data); - case 537: return new ::Ifc4x3_rc4::IfcHeatingValueMeasure(data); - case 538: return new ::Ifc4x3_rc4::IfcHumidifier(data); - case 539: return new ::Ifc4x3_rc4::IfcHumidifierType(data); - case 540: return new ::Ifc4x3_rc4::IfcHumidifierTypeEnum(data); - case 541: return new ::Ifc4x3_rc4::IfcIdentifier(data); - case 542: return new ::Ifc4x3_rc4::IfcIlluminanceMeasure(data); - case 543: return new ::Ifc4x3_rc4::IfcImageTexture(data); - case 544: return new ::Ifc4x3_rc4::IfcImpactProtectionDevice(data); - case 545: return new ::Ifc4x3_rc4::IfcImpactProtectionDeviceType(data); - case 546: return new ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum(data); - case 548: return new ::Ifc4x3_rc4::IfcInclinedReferenceSweptAreaSolid(data); - case 549: return new ::Ifc4x3_rc4::IfcIndexedColourMap(data); - case 550: return new ::Ifc4x3_rc4::IfcIndexedPolyCurve(data); - case 551: return new ::Ifc4x3_rc4::IfcIndexedPolygonalFace(data); - case 552: return new ::Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids(data); - case 553: return new ::Ifc4x3_rc4::IfcIndexedTextureMap(data); - case 554: return new ::Ifc4x3_rc4::IfcIndexedTriangleTextureMap(data); - case 555: return new ::Ifc4x3_rc4::IfcInductanceMeasure(data); - case 556: return new ::Ifc4x3_rc4::IfcInteger(data); - case 557: return new ::Ifc4x3_rc4::IfcIntegerCountRateMeasure(data); - case 558: return new ::Ifc4x3_rc4::IfcInterceptor(data); - case 559: return new ::Ifc4x3_rc4::IfcInterceptorType(data); - case 560: return new ::Ifc4x3_rc4::IfcInterceptorTypeEnum(data); - case 562: return new ::Ifc4x3_rc4::IfcInternalOrExternalEnum(data); - case 563: return new ::Ifc4x3_rc4::IfcIntersectionCurve(data); - case 564: return new ::Ifc4x3_rc4::IfcInventory(data); - case 565: return new ::Ifc4x3_rc4::IfcInventoryTypeEnum(data); - case 566: return new ::Ifc4x3_rc4::IfcIonConcentrationMeasure(data); - case 567: return new ::Ifc4x3_rc4::IfcIrregularTimeSeries(data); - case 568: return new ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue(data); - case 569: return new ::Ifc4x3_rc4::IfcIShapeProfileDef(data); - case 570: return new ::Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure(data); - case 571: return new ::Ifc4x3_rc4::IfcJunctionBox(data); - case 572: return new ::Ifc4x3_rc4::IfcJunctionBoxType(data); - case 573: return new ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum(data); - case 574: return new ::Ifc4x3_rc4::IfcKerb(data); - case 575: return new ::Ifc4x3_rc4::IfcKerbType(data); - case 576: return new ::Ifc4x3_rc4::IfcKinematicViscosityMeasure(data); - case 577: return new ::Ifc4x3_rc4::IfcKnotType(data); - case 578: return new ::Ifc4x3_rc4::IfcLabel(data); - case 579: return new ::Ifc4x3_rc4::IfcLaborResource(data); - case 580: return new ::Ifc4x3_rc4::IfcLaborResourceType(data); - case 581: return new ::Ifc4x3_rc4::IfcLaborResourceTypeEnum(data); - case 582: return new ::Ifc4x3_rc4::IfcLagTime(data); - case 583: return new ::Ifc4x3_rc4::IfcLamp(data); - case 584: return new ::Ifc4x3_rc4::IfcLampType(data); - case 585: return new ::Ifc4x3_rc4::IfcLampTypeEnum(data); - case 586: return new ::Ifc4x3_rc4::IfcLanguageId(data); - case 588: return new ::Ifc4x3_rc4::IfcLayerSetDirectionEnum(data); - case 589: return new ::Ifc4x3_rc4::IfcLengthMeasure(data); - case 590: return new ::Ifc4x3_rc4::IfcLibraryInformation(data); - case 591: return new ::Ifc4x3_rc4::IfcLibraryReference(data); - case 593: return new ::Ifc4x3_rc4::IfcLightDistributionCurveEnum(data); - case 594: return new ::Ifc4x3_rc4::IfcLightDistributionData(data); - case 596: return new ::Ifc4x3_rc4::IfcLightEmissionSourceEnum(data); - case 597: return new ::Ifc4x3_rc4::IfcLightFixture(data); - case 598: return new ::Ifc4x3_rc4::IfcLightFixtureType(data); - case 599: return new ::Ifc4x3_rc4::IfcLightFixtureTypeEnum(data); - case 600: return new ::Ifc4x3_rc4::IfcLightIntensityDistribution(data); - case 601: return new ::Ifc4x3_rc4::IfcLightSource(data); - case 602: return new ::Ifc4x3_rc4::IfcLightSourceAmbient(data); - case 603: return new ::Ifc4x3_rc4::IfcLightSourceDirectional(data); - case 604: return new ::Ifc4x3_rc4::IfcLightSourceGoniometric(data); - case 605: return new ::Ifc4x3_rc4::IfcLightSourcePositional(data); - case 606: return new ::Ifc4x3_rc4::IfcLightSourceSpot(data); - case 607: return new ::Ifc4x3_rc4::IfcLine(data); - case 608: return new ::Ifc4x3_rc4::IfcLinearElement(data); - case 609: return new ::Ifc4x3_rc4::IfcLinearForceMeasure(data); - case 610: return new ::Ifc4x3_rc4::IfcLinearMomentMeasure(data); - case 611: return new ::Ifc4x3_rc4::IfcLinearPlacement(data); - case 612: return new ::Ifc4x3_rc4::IfcLinearPositioningElement(data); - case 613: return new ::Ifc4x3_rc4::IfcLinearStiffnessMeasure(data); - case 614: return new ::Ifc4x3_rc4::IfcLinearVelocityMeasure(data); - case 615: return new ::Ifc4x3_rc4::IfcLineIndex(data); - case 616: return new ::Ifc4x3_rc4::IfcLiquidTerminal(data); - case 617: return new ::Ifc4x3_rc4::IfcLiquidTerminalType(data); - case 618: return new ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum(data); - case 619: return new ::Ifc4x3_rc4::IfcLoadGroupTypeEnum(data); - case 620: return new ::Ifc4x3_rc4::IfcLocalPlacement(data); - case 621: return new ::Ifc4x3_rc4::IfcLogical(data); - case 622: return new ::Ifc4x3_rc4::IfcLogicalOperatorEnum(data); - case 623: return new ::Ifc4x3_rc4::IfcLoop(data); - case 624: return new ::Ifc4x3_rc4::IfcLShapeProfileDef(data); - case 625: return new ::Ifc4x3_rc4::IfcLuminousFluxMeasure(data); - case 626: return new ::Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure(data); - case 627: return new ::Ifc4x3_rc4::IfcLuminousIntensityMeasure(data); - case 628: return new ::Ifc4x3_rc4::IfcMagneticFluxDensityMeasure(data); - case 629: return new ::Ifc4x3_rc4::IfcMagneticFluxMeasure(data); - case 630: return new ::Ifc4x3_rc4::IfcManifoldSolidBrep(data); - case 631: return new ::Ifc4x3_rc4::IfcMapConversion(data); - case 632: return new ::Ifc4x3_rc4::IfcMappedItem(data); - case 633: return new ::Ifc4x3_rc4::IfcMarineFacility(data); - case 634: return new ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum(data); - case 635: return new ::Ifc4x3_rc4::IfcMarinePartTypeEnum(data); - case 636: return new ::Ifc4x3_rc4::IfcMassDensityMeasure(data); - case 637: return new ::Ifc4x3_rc4::IfcMassFlowRateMeasure(data); - case 638: return new ::Ifc4x3_rc4::IfcMassMeasure(data); - case 639: return new ::Ifc4x3_rc4::IfcMassPerLengthMeasure(data); - case 640: return new ::Ifc4x3_rc4::IfcMaterial(data); - case 641: return new ::Ifc4x3_rc4::IfcMaterialClassificationRelationship(data); - case 642: return new ::Ifc4x3_rc4::IfcMaterialConstituent(data); - case 643: return new ::Ifc4x3_rc4::IfcMaterialConstituentSet(data); - case 644: return new ::Ifc4x3_rc4::IfcMaterialDefinition(data); - case 645: return new ::Ifc4x3_rc4::IfcMaterialDefinitionRepresentation(data); - case 646: return new ::Ifc4x3_rc4::IfcMaterialLayer(data); - case 647: return new ::Ifc4x3_rc4::IfcMaterialLayerSet(data); - case 648: return new ::Ifc4x3_rc4::IfcMaterialLayerSetUsage(data); - case 649: return new ::Ifc4x3_rc4::IfcMaterialLayerWithOffsets(data); - case 650: return new ::Ifc4x3_rc4::IfcMaterialList(data); - case 651: return new ::Ifc4x3_rc4::IfcMaterialProfile(data); - case 652: return new ::Ifc4x3_rc4::IfcMaterialProfileSet(data); - case 653: return new ::Ifc4x3_rc4::IfcMaterialProfileSetUsage(data); - case 654: return new ::Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering(data); - case 655: return new ::Ifc4x3_rc4::IfcMaterialProfileWithOffsets(data); - case 656: return new ::Ifc4x3_rc4::IfcMaterialProperties(data); - case 657: return new ::Ifc4x3_rc4::IfcMaterialRelationship(data); - case 659: return new ::Ifc4x3_rc4::IfcMaterialUsageDefinition(data); - case 661: return new ::Ifc4x3_rc4::IfcMeasureWithUnit(data); - case 662: return new ::Ifc4x3_rc4::IfcMechanicalFastener(data); - case 663: return new ::Ifc4x3_rc4::IfcMechanicalFastenerType(data); - case 664: return new ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum(data); - case 665: return new ::Ifc4x3_rc4::IfcMedicalDevice(data); - case 666: return new ::Ifc4x3_rc4::IfcMedicalDeviceType(data); - case 667: return new ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum(data); - case 668: return new ::Ifc4x3_rc4::IfcMember(data); - case 669: return new ::Ifc4x3_rc4::IfcMemberStandardCase(data); - case 670: return new ::Ifc4x3_rc4::IfcMemberType(data); - case 671: return new ::Ifc4x3_rc4::IfcMemberTypeEnum(data); - case 672: return new ::Ifc4x3_rc4::IfcMetric(data); - case 674: return new ::Ifc4x3_rc4::IfcMirroredProfileDef(data); - case 675: return new ::Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance(data); - case 676: return new ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType(data); - case 677: return new ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum(data); - case 678: return new ::Ifc4x3_rc4::IfcModulusOfElasticityMeasure(data); - case 679: return new ::Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure(data); - case 680: return new ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure(data); - case 682: return new ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure(data); - case 685: return new ::Ifc4x3_rc4::IfcMoistureDiffusivityMeasure(data); - case 686: return new ::Ifc4x3_rc4::IfcMolecularWeightMeasure(data); - case 687: return new ::Ifc4x3_rc4::IfcMomentOfInertiaMeasure(data); - case 688: return new ::Ifc4x3_rc4::IfcMonetaryMeasure(data); - case 689: return new ::Ifc4x3_rc4::IfcMonetaryUnit(data); - case 690: return new ::Ifc4x3_rc4::IfcMonthInYearNumber(data); - case 691: return new ::Ifc4x3_rc4::IfcMooringDevice(data); - case 692: return new ::Ifc4x3_rc4::IfcMooringDeviceType(data); - case 693: return new ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum(data); - case 694: return new ::Ifc4x3_rc4::IfcMotorConnection(data); - case 695: return new ::Ifc4x3_rc4::IfcMotorConnectionType(data); - case 696: return new ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum(data); - case 697: return new ::Ifc4x3_rc4::IfcNamedUnit(data); - case 698: return new ::Ifc4x3_rc4::IfcNavigationElement(data); - case 699: return new ::Ifc4x3_rc4::IfcNavigationElementType(data); - case 700: return new ::Ifc4x3_rc4::IfcNavigationElementTypeEnum(data); - case 701: return new ::Ifc4x3_rc4::IfcNonNegativeLengthMeasure(data); - case 702: return new ::Ifc4x3_rc4::IfcNormalisedRatioMeasure(data); - case 703: return new ::Ifc4x3_rc4::IfcNumericMeasure(data); - case 704: return new ::Ifc4x3_rc4::IfcObject(data); - case 705: return new ::Ifc4x3_rc4::IfcObjectDefinition(data); - case 706: return new ::Ifc4x3_rc4::IfcObjective(data); - case 707: return new ::Ifc4x3_rc4::IfcObjectiveEnum(data); - case 708: return new ::Ifc4x3_rc4::IfcObjectPlacement(data); - case 710: return new ::Ifc4x3_rc4::IfcObjectTypeEnum(data); - case 711: return new ::Ifc4x3_rc4::IfcOccupant(data); - case 712: return new ::Ifc4x3_rc4::IfcOccupantTypeEnum(data); - case 713: return new ::Ifc4x3_rc4::IfcOffsetCurve(data); - case 714: return new ::Ifc4x3_rc4::IfcOffsetCurve2D(data); - case 715: return new ::Ifc4x3_rc4::IfcOffsetCurve3D(data); - case 716: return new ::Ifc4x3_rc4::IfcOffsetCurveByDistances(data); - case 717: return new ::Ifc4x3_rc4::IfcOpenCrossProfileDef(data); - case 718: return new ::Ifc4x3_rc4::IfcOpeningElement(data); - case 719: return new ::Ifc4x3_rc4::IfcOpeningElementTypeEnum(data); - case 720: return new ::Ifc4x3_rc4::IfcOpeningStandardCase(data); - case 721: return new ::Ifc4x3_rc4::IfcOpenShell(data); - case 722: return new ::Ifc4x3_rc4::IfcOrganization(data); - case 723: return new ::Ifc4x3_rc4::IfcOrganizationRelationship(data); - case 724: return new ::Ifc4x3_rc4::IfcOrientedEdge(data); - case 725: return new ::Ifc4x3_rc4::IfcOuterBoundaryCurve(data); - case 726: return new ::Ifc4x3_rc4::IfcOutlet(data); - case 727: return new ::Ifc4x3_rc4::IfcOutletType(data); - case 728: return new ::Ifc4x3_rc4::IfcOutletTypeEnum(data); - case 729: return new ::Ifc4x3_rc4::IfcOwnerHistory(data); - case 730: return new ::Ifc4x3_rc4::IfcParameterizedProfileDef(data); - case 731: return new ::Ifc4x3_rc4::IfcParameterValue(data); - case 732: return new ::Ifc4x3_rc4::IfcPath(data); - case 733: return new ::Ifc4x3_rc4::IfcPavement(data); - case 734: return new ::Ifc4x3_rc4::IfcPavementType(data); - case 735: return new ::Ifc4x3_rc4::IfcPavementTypeEnum(data); - case 736: return new ::Ifc4x3_rc4::IfcPcurve(data); - case 737: return new ::Ifc4x3_rc4::IfcPerformanceHistory(data); - case 738: return new ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum(data); - case 739: return new ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum(data); - case 740: return new ::Ifc4x3_rc4::IfcPermeableCoveringProperties(data); - case 741: return new ::Ifc4x3_rc4::IfcPermit(data); - case 742: return new ::Ifc4x3_rc4::IfcPermitTypeEnum(data); - case 743: return new ::Ifc4x3_rc4::IfcPerson(data); - case 744: return new ::Ifc4x3_rc4::IfcPersonAndOrganization(data); - case 745: return new ::Ifc4x3_rc4::IfcPHMeasure(data); - case 746: return new ::Ifc4x3_rc4::IfcPhysicalComplexQuantity(data); - case 747: return new ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum(data); - case 748: return new ::Ifc4x3_rc4::IfcPhysicalQuantity(data); - case 749: return new ::Ifc4x3_rc4::IfcPhysicalSimpleQuantity(data); - case 750: return new ::Ifc4x3_rc4::IfcPile(data); - case 751: return new ::Ifc4x3_rc4::IfcPileConstructionEnum(data); - case 752: return new ::Ifc4x3_rc4::IfcPileType(data); - case 753: return new ::Ifc4x3_rc4::IfcPileTypeEnum(data); - case 754: return new ::Ifc4x3_rc4::IfcPipeFitting(data); - case 755: return new ::Ifc4x3_rc4::IfcPipeFittingType(data); - case 756: return new ::Ifc4x3_rc4::IfcPipeFittingTypeEnum(data); - case 757: return new ::Ifc4x3_rc4::IfcPipeSegment(data); - case 758: return new ::Ifc4x3_rc4::IfcPipeSegmentType(data); - case 759: return new ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum(data); - case 760: return new ::Ifc4x3_rc4::IfcPixelTexture(data); - case 761: return new ::Ifc4x3_rc4::IfcPlacement(data); - case 762: return new ::Ifc4x3_rc4::IfcPlanarBox(data); - case 763: return new ::Ifc4x3_rc4::IfcPlanarExtent(data); - case 764: return new ::Ifc4x3_rc4::IfcPlanarForceMeasure(data); - case 765: return new ::Ifc4x3_rc4::IfcPlane(data); - case 766: return new ::Ifc4x3_rc4::IfcPlaneAngleMeasure(data); - case 767: return new ::Ifc4x3_rc4::IfcPlant(data); - case 768: return new ::Ifc4x3_rc4::IfcPlate(data); - case 769: return new ::Ifc4x3_rc4::IfcPlateStandardCase(data); - case 770: return new ::Ifc4x3_rc4::IfcPlateType(data); - case 771: return new ::Ifc4x3_rc4::IfcPlateTypeEnum(data); - case 772: return new ::Ifc4x3_rc4::IfcPoint(data); - case 773: return new ::Ifc4x3_rc4::IfcPointByDistanceExpression(data); - case 774: return new ::Ifc4x3_rc4::IfcPointOnCurve(data); - case 775: return new ::Ifc4x3_rc4::IfcPointOnSurface(data); - case 777: return new ::Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace(data); - case 778: return new ::Ifc4x3_rc4::IfcPolygonalFaceSet(data); - case 779: return new ::Ifc4x3_rc4::IfcPolyline(data); - case 780: return new ::Ifc4x3_rc4::IfcPolyLoop(data); - case 781: return new ::Ifc4x3_rc4::IfcPolynomialCurve(data); - case 782: return new ::Ifc4x3_rc4::IfcPort(data); - case 783: return new ::Ifc4x3_rc4::IfcPositioningElement(data); - case 784: return new ::Ifc4x3_rc4::IfcPositiveInteger(data); - case 785: return new ::Ifc4x3_rc4::IfcPositiveLengthMeasure(data); - case 786: return new ::Ifc4x3_rc4::IfcPositivePlaneAngleMeasure(data); - case 787: return new ::Ifc4x3_rc4::IfcPositiveRatioMeasure(data); - case 788: return new ::Ifc4x3_rc4::IfcPostalAddress(data); - case 789: return new ::Ifc4x3_rc4::IfcPowerMeasure(data); - case 790: return new ::Ifc4x3_rc4::IfcPreDefinedColour(data); - case 791: return new ::Ifc4x3_rc4::IfcPreDefinedCurveFont(data); - case 792: return new ::Ifc4x3_rc4::IfcPreDefinedItem(data); - case 793: return new ::Ifc4x3_rc4::IfcPreDefinedProperties(data); - case 794: return new ::Ifc4x3_rc4::IfcPreDefinedPropertySet(data); - case 795: return new ::Ifc4x3_rc4::IfcPreDefinedTextFont(data); - case 796: return new ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation(data); - case 797: return new ::Ifc4x3_rc4::IfcPresentableText(data); - case 798: return new ::Ifc4x3_rc4::IfcPresentationItem(data); - case 799: return new ::Ifc4x3_rc4::IfcPresentationLayerAssignment(data); - case 800: return new ::Ifc4x3_rc4::IfcPresentationLayerWithStyle(data); - case 801: return new ::Ifc4x3_rc4::IfcPresentationStyle(data); - case 802: return new ::Ifc4x3_rc4::IfcPressureMeasure(data); - case 803: return new ::Ifc4x3_rc4::IfcProcedure(data); - case 804: return new ::Ifc4x3_rc4::IfcProcedureType(data); - case 805: return new ::Ifc4x3_rc4::IfcProcedureTypeEnum(data); - case 806: return new ::Ifc4x3_rc4::IfcProcess(data); - case 808: return new ::Ifc4x3_rc4::IfcProduct(data); - case 809: return new ::Ifc4x3_rc4::IfcProductDefinitionShape(data); - case 810: return new ::Ifc4x3_rc4::IfcProductRepresentation(data); - case 813: return new ::Ifc4x3_rc4::IfcProfileDef(data); - case 814: return new ::Ifc4x3_rc4::IfcProfileProperties(data); - case 815: return new ::Ifc4x3_rc4::IfcProfileTypeEnum(data); - case 816: return new ::Ifc4x3_rc4::IfcProject(data); - case 817: return new ::Ifc4x3_rc4::IfcProjectedCRS(data); - case 818: return new ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum(data); - case 819: return new ::Ifc4x3_rc4::IfcProjectionElement(data); - case 820: return new ::Ifc4x3_rc4::IfcProjectionElementTypeEnum(data); - case 821: return new ::Ifc4x3_rc4::IfcProjectLibrary(data); - case 822: return new ::Ifc4x3_rc4::IfcProjectOrder(data); - case 823: return new ::Ifc4x3_rc4::IfcProjectOrderTypeEnum(data); - case 824: return new ::Ifc4x3_rc4::IfcProperty(data); - case 825: return new ::Ifc4x3_rc4::IfcPropertyAbstraction(data); - case 826: return new ::Ifc4x3_rc4::IfcPropertyBoundedValue(data); - case 827: return new ::Ifc4x3_rc4::IfcPropertyDefinition(data); - case 828: return new ::Ifc4x3_rc4::IfcPropertyDependencyRelationship(data); - case 829: return new ::Ifc4x3_rc4::IfcPropertyEnumeratedValue(data); - case 830: return new ::Ifc4x3_rc4::IfcPropertyEnumeration(data); - case 831: return new ::Ifc4x3_rc4::IfcPropertyListValue(data); - case 832: return new ::Ifc4x3_rc4::IfcPropertyReferenceValue(data); - case 833: return new ::Ifc4x3_rc4::IfcPropertySet(data); - case 834: return new ::Ifc4x3_rc4::IfcPropertySetDefinition(data); - case 836: return new ::Ifc4x3_rc4::IfcPropertySetDefinitionSet(data); - case 837: return new ::Ifc4x3_rc4::IfcPropertySetTemplate(data); - case 838: return new ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum(data); - case 839: return new ::Ifc4x3_rc4::IfcPropertySingleValue(data); - case 840: return new ::Ifc4x3_rc4::IfcPropertyTableValue(data); - case 841: return new ::Ifc4x3_rc4::IfcPropertyTemplate(data); - case 842: return new ::Ifc4x3_rc4::IfcPropertyTemplateDefinition(data); - case 843: return new ::Ifc4x3_rc4::IfcProtectiveDevice(data); - case 844: return new ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit(data); - case 845: return new ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType(data); - case 846: return new ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum(data); - case 847: return new ::Ifc4x3_rc4::IfcProtectiveDeviceType(data); - case 848: return new ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum(data); - case 849: return new ::Ifc4x3_rc4::IfcProxy(data); - case 850: return new ::Ifc4x3_rc4::IfcPump(data); - case 851: return new ::Ifc4x3_rc4::IfcPumpType(data); - case 852: return new ::Ifc4x3_rc4::IfcPumpTypeEnum(data); - case 853: return new ::Ifc4x3_rc4::IfcQuantityArea(data); - case 854: return new ::Ifc4x3_rc4::IfcQuantityCount(data); - case 855: return new ::Ifc4x3_rc4::IfcQuantityLength(data); - case 856: return new ::Ifc4x3_rc4::IfcQuantitySet(data); - case 857: return new ::Ifc4x3_rc4::IfcQuantityTime(data); - case 858: return new ::Ifc4x3_rc4::IfcQuantityVolume(data); - case 859: return new ::Ifc4x3_rc4::IfcQuantityWeight(data); - case 860: return new ::Ifc4x3_rc4::IfcRadioActivityMeasure(data); - case 861: return new ::Ifc4x3_rc4::IfcRail(data); - case 862: return new ::Ifc4x3_rc4::IfcRailing(data); - case 863: return new ::Ifc4x3_rc4::IfcRailingType(data); - case 864: return new ::Ifc4x3_rc4::IfcRailingTypeEnum(data); - case 865: return new ::Ifc4x3_rc4::IfcRailType(data); - case 866: return new ::Ifc4x3_rc4::IfcRailTypeEnum(data); - case 867: return new ::Ifc4x3_rc4::IfcRailway(data); - case 868: return new ::Ifc4x3_rc4::IfcRailwayPartTypeEnum(data); - case 869: return new ::Ifc4x3_rc4::IfcRailwayTypeEnum(data); - case 870: return new ::Ifc4x3_rc4::IfcRamp(data); - case 871: return new ::Ifc4x3_rc4::IfcRampFlight(data); - case 872: return new ::Ifc4x3_rc4::IfcRampFlightType(data); - case 873: return new ::Ifc4x3_rc4::IfcRampFlightTypeEnum(data); - case 874: return new ::Ifc4x3_rc4::IfcRampType(data); - case 875: return new ::Ifc4x3_rc4::IfcRampTypeEnum(data); - case 876: return new ::Ifc4x3_rc4::IfcRatioMeasure(data); - case 877: return new ::Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots(data); - case 878: return new ::Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots(data); - case 879: return new ::Ifc4x3_rc4::IfcReal(data); - case 880: return new ::Ifc4x3_rc4::IfcRectangleHollowProfileDef(data); - case 881: return new ::Ifc4x3_rc4::IfcRectangleProfileDef(data); - case 882: return new ::Ifc4x3_rc4::IfcRectangularPyramid(data); - case 883: return new ::Ifc4x3_rc4::IfcRectangularTrimmedSurface(data); - case 884: return new ::Ifc4x3_rc4::IfcRecurrencePattern(data); - case 885: return new ::Ifc4x3_rc4::IfcRecurrenceTypeEnum(data); - case 886: return new ::Ifc4x3_rc4::IfcReference(data); - case 887: return new ::Ifc4x3_rc4::IfcReferent(data); - case 888: return new ::Ifc4x3_rc4::IfcReferentTypeEnum(data); - case 889: return new ::Ifc4x3_rc4::IfcReflectanceMethodEnum(data); - case 890: return new ::Ifc4x3_rc4::IfcRegularTimeSeries(data); - case 891: return new ::Ifc4x3_rc4::IfcReinforcedSoil(data); - case 892: return new ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum(data); - case 893: return new ::Ifc4x3_rc4::IfcReinforcementBarProperties(data); - case 894: return new ::Ifc4x3_rc4::IfcReinforcementDefinitionProperties(data); - case 895: return new ::Ifc4x3_rc4::IfcReinforcingBar(data); - case 896: return new ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum(data); - case 897: return new ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum(data); - case 898: return new ::Ifc4x3_rc4::IfcReinforcingBarType(data); - case 899: return new ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum(data); - case 900: return new ::Ifc4x3_rc4::IfcReinforcingElement(data); - case 901: return new ::Ifc4x3_rc4::IfcReinforcingElementType(data); - case 902: return new ::Ifc4x3_rc4::IfcReinforcingMesh(data); - case 903: return new ::Ifc4x3_rc4::IfcReinforcingMeshType(data); - case 904: return new ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum(data); - case 905: return new ::Ifc4x3_rc4::IfcRelAggregates(data); - case 906: return new ::Ifc4x3_rc4::IfcRelAssigns(data); - case 907: return new ::Ifc4x3_rc4::IfcRelAssignsToActor(data); - case 908: return new ::Ifc4x3_rc4::IfcRelAssignsToControl(data); - case 909: return new ::Ifc4x3_rc4::IfcRelAssignsToGroup(data); - case 910: return new ::Ifc4x3_rc4::IfcRelAssignsToGroupByFactor(data); - case 911: return new ::Ifc4x3_rc4::IfcRelAssignsToProcess(data); - case 912: return new ::Ifc4x3_rc4::IfcRelAssignsToProduct(data); - case 913: return new ::Ifc4x3_rc4::IfcRelAssignsToResource(data); - case 914: return new ::Ifc4x3_rc4::IfcRelAssociates(data); - case 915: return new ::Ifc4x3_rc4::IfcRelAssociatesApproval(data); - case 916: return new ::Ifc4x3_rc4::IfcRelAssociatesClassification(data); - case 917: return new ::Ifc4x3_rc4::IfcRelAssociatesConstraint(data); - case 918: return new ::Ifc4x3_rc4::IfcRelAssociatesDocument(data); - case 919: return new ::Ifc4x3_rc4::IfcRelAssociatesLibrary(data); - case 920: return new ::Ifc4x3_rc4::IfcRelAssociatesMaterial(data); - case 921: return new ::Ifc4x3_rc4::IfcRelAssociatesProfileDef(data); - case 922: return new ::Ifc4x3_rc4::IfcRelationship(data); - case 923: return new ::Ifc4x3_rc4::IfcRelConnects(data); - case 924: return new ::Ifc4x3_rc4::IfcRelConnectsElements(data); - case 925: return new ::Ifc4x3_rc4::IfcRelConnectsPathElements(data); - case 926: return new ::Ifc4x3_rc4::IfcRelConnectsPorts(data); - case 927: return new ::Ifc4x3_rc4::IfcRelConnectsPortToElement(data); - case 928: return new ::Ifc4x3_rc4::IfcRelConnectsStructuralActivity(data); - case 929: return new ::Ifc4x3_rc4::IfcRelConnectsStructuralMember(data); - case 930: return new ::Ifc4x3_rc4::IfcRelConnectsWithEccentricity(data); - case 931: return new ::Ifc4x3_rc4::IfcRelConnectsWithRealizingElements(data); - case 932: return new ::Ifc4x3_rc4::IfcRelContainedInSpatialStructure(data); - case 933: return new ::Ifc4x3_rc4::IfcRelCoversBldgElements(data); - case 934: return new ::Ifc4x3_rc4::IfcRelCoversSpaces(data); - case 935: return new ::Ifc4x3_rc4::IfcRelDeclares(data); - case 936: return new ::Ifc4x3_rc4::IfcRelDecomposes(data); - case 937: return new ::Ifc4x3_rc4::IfcRelDefines(data); - case 938: return new ::Ifc4x3_rc4::IfcRelDefinesByObject(data); - case 939: return new ::Ifc4x3_rc4::IfcRelDefinesByProperties(data); - case 940: return new ::Ifc4x3_rc4::IfcRelDefinesByTemplate(data); - case 941: return new ::Ifc4x3_rc4::IfcRelDefinesByType(data); - case 942: return new ::Ifc4x3_rc4::IfcRelFillsElement(data); - case 943: return new ::Ifc4x3_rc4::IfcRelFlowControlElements(data); - case 944: return new ::Ifc4x3_rc4::IfcRelInterferesElements(data); - case 945: return new ::Ifc4x3_rc4::IfcRelNests(data); - case 946: return new ::Ifc4x3_rc4::IfcRelPositions(data); - case 947: return new ::Ifc4x3_rc4::IfcRelProjectsElement(data); - case 948: return new ::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure(data); - case 949: return new ::Ifc4x3_rc4::IfcRelSequence(data); - case 950: return new ::Ifc4x3_rc4::IfcRelServicesBuildings(data); - case 951: return new ::Ifc4x3_rc4::IfcRelSpaceBoundary(data); - case 952: return new ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel(data); - case 953: return new ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel(data); - case 954: return new ::Ifc4x3_rc4::IfcRelVoidsElement(data); - case 955: return new ::Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment(data); - case 956: return new ::Ifc4x3_rc4::IfcRepresentation(data); - case 957: return new ::Ifc4x3_rc4::IfcRepresentationContext(data); - case 958: return new ::Ifc4x3_rc4::IfcRepresentationItem(data); - case 959: return new ::Ifc4x3_rc4::IfcRepresentationMap(data); - case 960: return new ::Ifc4x3_rc4::IfcResource(data); - case 961: return new ::Ifc4x3_rc4::IfcResourceApprovalRelationship(data); - case 962: return new ::Ifc4x3_rc4::IfcResourceConstraintRelationship(data); - case 963: return new ::Ifc4x3_rc4::IfcResourceLevelRelationship(data); - case 966: return new ::Ifc4x3_rc4::IfcResourceTime(data); - case 967: return new ::Ifc4x3_rc4::IfcRevolvedAreaSolid(data); - case 968: return new ::Ifc4x3_rc4::IfcRevolvedAreaSolidTapered(data); - case 969: return new ::Ifc4x3_rc4::IfcRightCircularCone(data); - case 970: return new ::Ifc4x3_rc4::IfcRightCircularCylinder(data); - case 971: return new ::Ifc4x3_rc4::IfcRoad(data); - case 972: return new ::Ifc4x3_rc4::IfcRoadPartTypeEnum(data); - case 973: return new ::Ifc4x3_rc4::IfcRoadTypeEnum(data); - case 974: return new ::Ifc4x3_rc4::IfcRoleEnum(data); - case 975: return new ::Ifc4x3_rc4::IfcRoof(data); - case 976: return new ::Ifc4x3_rc4::IfcRoofType(data); - case 977: return new ::Ifc4x3_rc4::IfcRoofTypeEnum(data); - case 978: return new ::Ifc4x3_rc4::IfcRoot(data); - case 979: return new ::Ifc4x3_rc4::IfcRotationalFrequencyMeasure(data); - case 980: return new ::Ifc4x3_rc4::IfcRotationalMassMeasure(data); - case 981: return new ::Ifc4x3_rc4::IfcRotationalStiffnessMeasure(data); - case 983: return new ::Ifc4x3_rc4::IfcRoundedRectangleProfileDef(data); - case 984: return new ::Ifc4x3_rc4::IfcSanitaryTerminal(data); - case 985: return new ::Ifc4x3_rc4::IfcSanitaryTerminalType(data); - case 986: return new ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum(data); - case 987: return new ::Ifc4x3_rc4::IfcSchedulingTime(data); - case 988: return new ::Ifc4x3_rc4::IfcSeamCurve(data); - case 989: return new ::Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral(data); - case 990: return new ::Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure(data); - case 991: return new ::Ifc4x3_rc4::IfcSectionedSolid(data); - case 992: return new ::Ifc4x3_rc4::IfcSectionedSolidHorizontal(data); - case 993: return new ::Ifc4x3_rc4::IfcSectionedSpine(data); - case 994: return new ::Ifc4x3_rc4::IfcSectionedSurface(data); - case 995: return new ::Ifc4x3_rc4::IfcSectionModulusMeasure(data); - case 996: return new ::Ifc4x3_rc4::IfcSectionProperties(data); - case 997: return new ::Ifc4x3_rc4::IfcSectionReinforcementProperties(data); - case 998: return new ::Ifc4x3_rc4::IfcSectionTypeEnum(data); - case 999: return new ::Ifc4x3_rc4::IfcSegment(data); - case 1000: return new ::Ifc4x3_rc4::IfcSegmentedReferenceCurve(data); - case 1002: return new ::Ifc4x3_rc4::IfcSensor(data); - case 1003: return new ::Ifc4x3_rc4::IfcSensorType(data); - case 1004: return new ::Ifc4x3_rc4::IfcSensorTypeEnum(data); - case 1005: return new ::Ifc4x3_rc4::IfcSequenceEnum(data); - case 1006: return new ::Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral(data); - case 1007: return new ::Ifc4x3_rc4::IfcShadingDevice(data); - case 1008: return new ::Ifc4x3_rc4::IfcShadingDeviceType(data); - case 1009: return new ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum(data); - case 1010: return new ::Ifc4x3_rc4::IfcShapeAspect(data); - case 1011: return new ::Ifc4x3_rc4::IfcShapeModel(data); - case 1012: return new ::Ifc4x3_rc4::IfcShapeRepresentation(data); - case 1013: return new ::Ifc4x3_rc4::IfcShearModulusMeasure(data); - case 1015: return new ::Ifc4x3_rc4::IfcShellBasedSurfaceModel(data); - case 1016: return new ::Ifc4x3_rc4::IfcSign(data); - case 1017: return new ::Ifc4x3_rc4::IfcSignal(data); - case 1018: return new ::Ifc4x3_rc4::IfcSignalType(data); - case 1019: return new ::Ifc4x3_rc4::IfcSignalTypeEnum(data); - case 1020: return new ::Ifc4x3_rc4::IfcSignType(data); - case 1021: return new ::Ifc4x3_rc4::IfcSignTypeEnum(data); - case 1022: return new ::Ifc4x3_rc4::IfcSimpleProperty(data); - case 1023: return new ::Ifc4x3_rc4::IfcSimplePropertyTemplate(data); - case 1024: return new ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum(data); - case 1026: return new ::Ifc4x3_rc4::IfcSine(data); - case 1027: return new ::Ifc4x3_rc4::IfcSIPrefix(data); - case 1028: return new ::Ifc4x3_rc4::IfcSite(data); - case 1029: return new ::Ifc4x3_rc4::IfcSIUnit(data); - case 1030: return new ::Ifc4x3_rc4::IfcSIUnitName(data); - case 1032: return new ::Ifc4x3_rc4::IfcSlab(data); - case 1033: return new ::Ifc4x3_rc4::IfcSlabElementedCase(data); - case 1034: return new ::Ifc4x3_rc4::IfcSlabStandardCase(data); - case 1035: return new ::Ifc4x3_rc4::IfcSlabType(data); - case 1036: return new ::Ifc4x3_rc4::IfcSlabTypeEnum(data); - case 1037: return new ::Ifc4x3_rc4::IfcSlippageConnectionCondition(data); - case 1038: return new ::Ifc4x3_rc4::IfcSolarDevice(data); - case 1039: return new ::Ifc4x3_rc4::IfcSolarDeviceType(data); - case 1040: return new ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum(data); - case 1041: return new ::Ifc4x3_rc4::IfcSolidAngleMeasure(data); - case 1042: return new ::Ifc4x3_rc4::IfcSolidModel(data); - case 1044: return new ::Ifc4x3_rc4::IfcSolidStratum(data); - case 1045: return new ::Ifc4x3_rc4::IfcSoundPowerLevelMeasure(data); - case 1046: return new ::Ifc4x3_rc4::IfcSoundPowerMeasure(data); - case 1047: return new ::Ifc4x3_rc4::IfcSoundPressureLevelMeasure(data); - case 1048: return new ::Ifc4x3_rc4::IfcSoundPressureMeasure(data); - case 1049: return new ::Ifc4x3_rc4::IfcSpace(data); - case 1051: return new ::Ifc4x3_rc4::IfcSpaceHeater(data); - case 1052: return new ::Ifc4x3_rc4::IfcSpaceHeaterType(data); - case 1053: return new ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum(data); - case 1054: return new ::Ifc4x3_rc4::IfcSpaceType(data); - case 1055: return new ::Ifc4x3_rc4::IfcSpaceTypeEnum(data); - case 1056: return new ::Ifc4x3_rc4::IfcSpatialElement(data); - case 1057: return new ::Ifc4x3_rc4::IfcSpatialElementType(data); - case 1059: return new ::Ifc4x3_rc4::IfcSpatialStructureElement(data); - case 1060: return new ::Ifc4x3_rc4::IfcSpatialStructureElementType(data); - case 1061: return new ::Ifc4x3_rc4::IfcSpatialZone(data); - case 1062: return new ::Ifc4x3_rc4::IfcSpatialZoneType(data); - case 1063: return new ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum(data); - case 1064: return new ::Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure(data); - case 1065: return new ::Ifc4x3_rc4::IfcSpecularExponent(data); - case 1067: return new ::Ifc4x3_rc4::IfcSpecularRoughness(data); - case 1068: return new ::Ifc4x3_rc4::IfcSphere(data); - case 1069: return new ::Ifc4x3_rc4::IfcSphericalSurface(data); - case 1070: return new ::Ifc4x3_rc4::IfcSpiral(data); - case 1071: return new ::Ifc4x3_rc4::IfcStackTerminal(data); - case 1072: return new ::Ifc4x3_rc4::IfcStackTerminalType(data); - case 1073: return new ::Ifc4x3_rc4::IfcStackTerminalTypeEnum(data); - case 1074: return new ::Ifc4x3_rc4::IfcStair(data); - case 1075: return new ::Ifc4x3_rc4::IfcStairFlight(data); - case 1076: return new ::Ifc4x3_rc4::IfcStairFlightType(data); - case 1077: return new ::Ifc4x3_rc4::IfcStairFlightTypeEnum(data); - case 1078: return new ::Ifc4x3_rc4::IfcStairType(data); - case 1079: return new ::Ifc4x3_rc4::IfcStairTypeEnum(data); - case 1080: return new ::Ifc4x3_rc4::IfcStateEnum(data); - case 1081: return new ::Ifc4x3_rc4::IfcStructuralAction(data); - case 1082: return new ::Ifc4x3_rc4::IfcStructuralActivity(data); - case 1084: return new ::Ifc4x3_rc4::IfcStructuralAnalysisModel(data); - case 1085: return new ::Ifc4x3_rc4::IfcStructuralConnection(data); - case 1086: return new ::Ifc4x3_rc4::IfcStructuralConnectionCondition(data); - case 1087: return new ::Ifc4x3_rc4::IfcStructuralCurveAction(data); - case 1088: return new ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum(data); - case 1089: return new ::Ifc4x3_rc4::IfcStructuralCurveConnection(data); - case 1090: return new ::Ifc4x3_rc4::IfcStructuralCurveMember(data); - case 1091: return new ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum(data); - case 1092: return new ::Ifc4x3_rc4::IfcStructuralCurveMemberVarying(data); - case 1093: return new ::Ifc4x3_rc4::IfcStructuralCurveReaction(data); - case 1094: return new ::Ifc4x3_rc4::IfcStructuralItem(data); - case 1095: return new ::Ifc4x3_rc4::IfcStructuralLinearAction(data); - case 1096: return new ::Ifc4x3_rc4::IfcStructuralLoad(data); - case 1097: return new ::Ifc4x3_rc4::IfcStructuralLoadCase(data); - case 1098: return new ::Ifc4x3_rc4::IfcStructuralLoadConfiguration(data); - case 1099: return new ::Ifc4x3_rc4::IfcStructuralLoadGroup(data); - case 1100: return new ::Ifc4x3_rc4::IfcStructuralLoadLinearForce(data); - case 1101: return new ::Ifc4x3_rc4::IfcStructuralLoadOrResult(data); - case 1102: return new ::Ifc4x3_rc4::IfcStructuralLoadPlanarForce(data); - case 1103: return new ::Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement(data); - case 1104: return new ::Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion(data); - case 1105: return new ::Ifc4x3_rc4::IfcStructuralLoadSingleForce(data); - case 1106: return new ::Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping(data); - case 1107: return new ::Ifc4x3_rc4::IfcStructuralLoadStatic(data); - case 1108: return new ::Ifc4x3_rc4::IfcStructuralLoadTemperature(data); - case 1109: return new ::Ifc4x3_rc4::IfcStructuralMember(data); - case 1110: return new ::Ifc4x3_rc4::IfcStructuralPlanarAction(data); - case 1111: return new ::Ifc4x3_rc4::IfcStructuralPointAction(data); - case 1112: return new ::Ifc4x3_rc4::IfcStructuralPointConnection(data); - case 1113: return new ::Ifc4x3_rc4::IfcStructuralPointReaction(data); - case 1114: return new ::Ifc4x3_rc4::IfcStructuralReaction(data); - case 1115: return new ::Ifc4x3_rc4::IfcStructuralResultGroup(data); - case 1116: return new ::Ifc4x3_rc4::IfcStructuralSurfaceAction(data); - case 1117: return new ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum(data); - case 1118: return new ::Ifc4x3_rc4::IfcStructuralSurfaceConnection(data); - case 1119: return new ::Ifc4x3_rc4::IfcStructuralSurfaceMember(data); - case 1120: return new ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum(data); - case 1121: return new ::Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying(data); - case 1122: return new ::Ifc4x3_rc4::IfcStructuralSurfaceReaction(data); - case 1123: return new ::Ifc4x3_rc4::IfcStyledItem(data); - case 1124: return new ::Ifc4x3_rc4::IfcStyledRepresentation(data); - case 1125: return new ::Ifc4x3_rc4::IfcStyleModel(data); - case 1126: return new ::Ifc4x3_rc4::IfcSubContractResource(data); - case 1127: return new ::Ifc4x3_rc4::IfcSubContractResourceType(data); - case 1128: return new ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum(data); - case 1129: return new ::Ifc4x3_rc4::IfcSubedge(data); - case 1130: return new ::Ifc4x3_rc4::IfcSurface(data); - case 1131: return new ::Ifc4x3_rc4::IfcSurfaceCurve(data); - case 1132: return new ::Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid(data); - case 1133: return new ::Ifc4x3_rc4::IfcSurfaceFeature(data); - case 1134: return new ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum(data); - case 1135: return new ::Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion(data); - case 1136: return new ::Ifc4x3_rc4::IfcSurfaceOfRevolution(data); - case 1138: return new ::Ifc4x3_rc4::IfcSurfaceReinforcementArea(data); - case 1139: return new ::Ifc4x3_rc4::IfcSurfaceSide(data); - case 1140: return new ::Ifc4x3_rc4::IfcSurfaceStyle(data); - case 1142: return new ::Ifc4x3_rc4::IfcSurfaceStyleLighting(data); - case 1143: return new ::Ifc4x3_rc4::IfcSurfaceStyleRefraction(data); - case 1144: return new ::Ifc4x3_rc4::IfcSurfaceStyleRendering(data); - case 1145: return new ::Ifc4x3_rc4::IfcSurfaceStyleShading(data); - case 1146: return new ::Ifc4x3_rc4::IfcSurfaceStyleWithTextures(data); - case 1147: return new ::Ifc4x3_rc4::IfcSurfaceTexture(data); - case 1148: return new ::Ifc4x3_rc4::IfcSweptAreaSolid(data); - case 1149: return new ::Ifc4x3_rc4::IfcSweptDiskSolid(data); - case 1150: return new ::Ifc4x3_rc4::IfcSweptDiskSolidPolygonal(data); - case 1151: return new ::Ifc4x3_rc4::IfcSweptSurface(data); - case 1152: return new ::Ifc4x3_rc4::IfcSwitchingDevice(data); - case 1153: return new ::Ifc4x3_rc4::IfcSwitchingDeviceType(data); - case 1154: return new ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum(data); - case 1155: return new ::Ifc4x3_rc4::IfcSystem(data); - case 1156: return new ::Ifc4x3_rc4::IfcSystemFurnitureElement(data); - case 1157: return new ::Ifc4x3_rc4::IfcSystemFurnitureElementType(data); - case 1158: return new ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum(data); - case 1159: return new ::Ifc4x3_rc4::IfcTable(data); - case 1160: return new ::Ifc4x3_rc4::IfcTableColumn(data); - case 1161: return new ::Ifc4x3_rc4::IfcTableRow(data); - case 1162: return new ::Ifc4x3_rc4::IfcTank(data); - case 1163: return new ::Ifc4x3_rc4::IfcTankType(data); - case 1164: return new ::Ifc4x3_rc4::IfcTankTypeEnum(data); - case 1165: return new ::Ifc4x3_rc4::IfcTask(data); - case 1166: return new ::Ifc4x3_rc4::IfcTaskDurationEnum(data); - case 1167: return new ::Ifc4x3_rc4::IfcTaskTime(data); - case 1168: return new ::Ifc4x3_rc4::IfcTaskTimeRecurring(data); - case 1169: return new ::Ifc4x3_rc4::IfcTaskType(data); - case 1170: return new ::Ifc4x3_rc4::IfcTaskTypeEnum(data); - case 1171: return new ::Ifc4x3_rc4::IfcTelecomAddress(data); - case 1172: return new ::Ifc4x3_rc4::IfcTemperatureGradientMeasure(data); - case 1173: return new ::Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure(data); - case 1174: return new ::Ifc4x3_rc4::IfcTendon(data); - case 1175: return new ::Ifc4x3_rc4::IfcTendonAnchor(data); - case 1176: return new ::Ifc4x3_rc4::IfcTendonAnchorType(data); - case 1177: return new ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum(data); - case 1178: return new ::Ifc4x3_rc4::IfcTendonConduit(data); - case 1179: return new ::Ifc4x3_rc4::IfcTendonConduitType(data); - case 1180: return new ::Ifc4x3_rc4::IfcTendonConduitTypeEnum(data); - case 1181: return new ::Ifc4x3_rc4::IfcTendonType(data); - case 1182: return new ::Ifc4x3_rc4::IfcTendonTypeEnum(data); - case 1183: return new ::Ifc4x3_rc4::IfcTessellatedFaceSet(data); - case 1184: return new ::Ifc4x3_rc4::IfcTessellatedItem(data); - case 1185: return new ::Ifc4x3_rc4::IfcText(data); - case 1186: return new ::Ifc4x3_rc4::IfcTextAlignment(data); - case 1187: return new ::Ifc4x3_rc4::IfcTextDecoration(data); - case 1188: return new ::Ifc4x3_rc4::IfcTextFontName(data); - case 1190: return new ::Ifc4x3_rc4::IfcTextLiteral(data); - case 1191: return new ::Ifc4x3_rc4::IfcTextLiteralWithExtent(data); - case 1192: return new ::Ifc4x3_rc4::IfcTextPath(data); - case 1193: return new ::Ifc4x3_rc4::IfcTextStyle(data); - case 1194: return new ::Ifc4x3_rc4::IfcTextStyleFontModel(data); - case 1195: return new ::Ifc4x3_rc4::IfcTextStyleForDefinedFont(data); - case 1196: return new ::Ifc4x3_rc4::IfcTextStyleTextModel(data); - case 1197: return new ::Ifc4x3_rc4::IfcTextTransformation(data); - case 1198: return new ::Ifc4x3_rc4::IfcTextureCoordinate(data); - case 1199: return new ::Ifc4x3_rc4::IfcTextureCoordinateGenerator(data); - case 1200: return new ::Ifc4x3_rc4::IfcTextureMap(data); - case 1201: return new ::Ifc4x3_rc4::IfcTextureVertex(data); - case 1202: return new ::Ifc4x3_rc4::IfcTextureVertexList(data); - case 1203: return new ::Ifc4x3_rc4::IfcThermalAdmittanceMeasure(data); - case 1204: return new ::Ifc4x3_rc4::IfcThermalConductivityMeasure(data); - case 1205: return new ::Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure(data); - case 1206: return new ::Ifc4x3_rc4::IfcThermalResistanceMeasure(data); - case 1207: return new ::Ifc4x3_rc4::IfcThermalTransmittanceMeasure(data); - case 1208: return new ::Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure(data); - case 1209: return new ::Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral(data); - case 1210: return new ::Ifc4x3_rc4::IfcTime(data); - case 1211: return new ::Ifc4x3_rc4::IfcTimeMeasure(data); - case 1213: return new ::Ifc4x3_rc4::IfcTimePeriod(data); - case 1214: return new ::Ifc4x3_rc4::IfcTimeSeries(data); - case 1215: return new ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum(data); - case 1216: return new ::Ifc4x3_rc4::IfcTimeSeriesValue(data); - case 1217: return new ::Ifc4x3_rc4::IfcTimeStamp(data); - case 1218: return new ::Ifc4x3_rc4::IfcTopologicalRepresentationItem(data); - case 1219: return new ::Ifc4x3_rc4::IfcTopologyRepresentation(data); - case 1220: return new ::Ifc4x3_rc4::IfcToroidalSurface(data); - case 1221: return new ::Ifc4x3_rc4::IfcTorqueMeasure(data); - case 1222: return new ::Ifc4x3_rc4::IfcTrackElement(data); - case 1223: return new ::Ifc4x3_rc4::IfcTrackElementType(data); - case 1224: return new ::Ifc4x3_rc4::IfcTrackElementTypeEnum(data); - case 1225: return new ::Ifc4x3_rc4::IfcTransformer(data); - case 1226: return new ::Ifc4x3_rc4::IfcTransformerType(data); - case 1227: return new ::Ifc4x3_rc4::IfcTransformerTypeEnum(data); - case 1228: return new ::Ifc4x3_rc4::IfcTransitionCode(data); - case 1230: return new ::Ifc4x3_rc4::IfcTransportElement(data); - case 1231: return new ::Ifc4x3_rc4::IfcTransportElementFixedTypeEnum(data); - case 1232: return new ::Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum(data); - case 1233: return new ::Ifc4x3_rc4::IfcTransportElementType(data); - case 1235: return new ::Ifc4x3_rc4::IfcTrapeziumProfileDef(data); - case 1236: return new ::Ifc4x3_rc4::IfcTriangulatedFaceSet(data); - case 1237: return new ::Ifc4x3_rc4::IfcTriangulatedIrregularNetwork(data); - case 1238: return new ::Ifc4x3_rc4::IfcTrimmedCurve(data); - case 1239: return new ::Ifc4x3_rc4::IfcTrimmingPreference(data); - case 1241: return new ::Ifc4x3_rc4::IfcTShapeProfileDef(data); - case 1242: return new ::Ifc4x3_rc4::IfcTubeBundle(data); - case 1243: return new ::Ifc4x3_rc4::IfcTubeBundleType(data); - case 1244: return new ::Ifc4x3_rc4::IfcTubeBundleTypeEnum(data); - case 1245: return new ::Ifc4x3_rc4::IfcTypeObject(data); - case 1246: return new ::Ifc4x3_rc4::IfcTypeProcess(data); - case 1247: return new ::Ifc4x3_rc4::IfcTypeProduct(data); - case 1248: return new ::Ifc4x3_rc4::IfcTypeResource(data); - case 1250: return new ::Ifc4x3_rc4::IfcUnitaryControlElement(data); - case 1251: return new ::Ifc4x3_rc4::IfcUnitaryControlElementType(data); - case 1252: return new ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum(data); - case 1253: return new ::Ifc4x3_rc4::IfcUnitaryEquipment(data); - case 1254: return new ::Ifc4x3_rc4::IfcUnitaryEquipmentType(data); - case 1255: return new ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum(data); - case 1256: return new ::Ifc4x3_rc4::IfcUnitAssignment(data); - case 1257: return new ::Ifc4x3_rc4::IfcUnitEnum(data); - case 1258: return new ::Ifc4x3_rc4::IfcURIReference(data); - case 1259: return new ::Ifc4x3_rc4::IfcUShapeProfileDef(data); - case 1261: return new ::Ifc4x3_rc4::IfcValve(data); - case 1262: return new ::Ifc4x3_rc4::IfcValveType(data); - case 1263: return new ::Ifc4x3_rc4::IfcValveTypeEnum(data); - case 1264: return new ::Ifc4x3_rc4::IfcVaporPermeabilityMeasure(data); - case 1265: return new ::Ifc4x3_rc4::IfcVector(data); - case 1267: return new ::Ifc4x3_rc4::IfcVertex(data); - case 1268: return new ::Ifc4x3_rc4::IfcVertexLoop(data); - case 1269: return new ::Ifc4x3_rc4::IfcVertexPoint(data); - case 1270: return new ::Ifc4x3_rc4::IfcVibrationDamper(data); - case 1271: return new ::Ifc4x3_rc4::IfcVibrationDamperType(data); - case 1272: return new ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum(data); - case 1273: return new ::Ifc4x3_rc4::IfcVibrationIsolator(data); - case 1274: return new ::Ifc4x3_rc4::IfcVibrationIsolatorType(data); - case 1275: return new ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum(data); - case 1276: return new ::Ifc4x3_rc4::IfcVirtualElement(data); - case 1277: return new ::Ifc4x3_rc4::IfcVirtualGridIntersection(data); - case 1278: return new ::Ifc4x3_rc4::IfcVoidingFeature(data); - case 1279: return new ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum(data); - case 1280: return new ::Ifc4x3_rc4::IfcVoidStratum(data); - case 1281: return new ::Ifc4x3_rc4::IfcVolumeMeasure(data); - case 1282: return new ::Ifc4x3_rc4::IfcVolumetricFlowRateMeasure(data); - case 1283: return new ::Ifc4x3_rc4::IfcWall(data); - case 1284: return new ::Ifc4x3_rc4::IfcWallElementedCase(data); - case 1285: return new ::Ifc4x3_rc4::IfcWallStandardCase(data); - case 1286: return new ::Ifc4x3_rc4::IfcWallType(data); - case 1287: return new ::Ifc4x3_rc4::IfcWallTypeEnum(data); - case 1288: return new ::Ifc4x3_rc4::IfcWarpingConstantMeasure(data); - case 1289: return new ::Ifc4x3_rc4::IfcWarpingMomentMeasure(data); - case 1291: return new ::Ifc4x3_rc4::IfcWasteTerminal(data); - case 1292: return new ::Ifc4x3_rc4::IfcWasteTerminalType(data); - case 1293: return new ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum(data); - case 1294: return new ::Ifc4x3_rc4::IfcWaterStratum(data); - case 1295: return new ::Ifc4x3_rc4::IfcWindow(data); - case 1296: return new ::Ifc4x3_rc4::IfcWindowLiningProperties(data); - case 1297: return new ::Ifc4x3_rc4::IfcWindowPanelOperationEnum(data); - case 1298: return new ::Ifc4x3_rc4::IfcWindowPanelPositionEnum(data); - case 1299: return new ::Ifc4x3_rc4::IfcWindowPanelProperties(data); - case 1300: return new ::Ifc4x3_rc4::IfcWindowStandardCase(data); - case 1301: return new ::Ifc4x3_rc4::IfcWindowStyle(data); - case 1302: return new ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum(data); - case 1303: return new ::Ifc4x3_rc4::IfcWindowStyleOperationEnum(data); - case 1304: return new ::Ifc4x3_rc4::IfcWindowType(data); - case 1305: return new ::Ifc4x3_rc4::IfcWindowTypeEnum(data); - case 1306: return new ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum(data); - case 1307: return new ::Ifc4x3_rc4::IfcWorkCalendar(data); - case 1308: return new ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum(data); - case 1309: return new ::Ifc4x3_rc4::IfcWorkControl(data); - case 1310: return new ::Ifc4x3_rc4::IfcWorkPlan(data); - case 1311: return new ::Ifc4x3_rc4::IfcWorkPlanTypeEnum(data); - case 1312: return new ::Ifc4x3_rc4::IfcWorkSchedule(data); - case 1313: return new ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum(data); - case 1314: return new ::Ifc4x3_rc4::IfcWorkTime(data); - case 1315: return new ::Ifc4x3_rc4::IfcZone(data); - case 1316: return new ::Ifc4x3_rc4::IfcZShapeProfileDef(data); + case 311: return new ::Ifc4x3_rc4::IfcDiscreteAccessory(data); + case 312: return new ::Ifc4x3_rc4::IfcDiscreteAccessoryType(data); + case 313: return new ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum(data); + case 314: return new ::Ifc4x3_rc4::IfcDistributionBoard(data); + case 315: return new ::Ifc4x3_rc4::IfcDistributionBoardType(data); + case 316: return new ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum(data); + case 317: return new ::Ifc4x3_rc4::IfcDistributionChamberElement(data); + case 318: return new ::Ifc4x3_rc4::IfcDistributionChamberElementType(data); + case 319: return new ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum(data); + case 320: return new ::Ifc4x3_rc4::IfcDistributionCircuit(data); + case 321: return new ::Ifc4x3_rc4::IfcDistributionControlElement(data); + case 322: return new ::Ifc4x3_rc4::IfcDistributionControlElementType(data); + case 323: return new ::Ifc4x3_rc4::IfcDistributionElement(data); + case 324: return new ::Ifc4x3_rc4::IfcDistributionElementType(data); + case 325: return new ::Ifc4x3_rc4::IfcDistributionFlowElement(data); + case 326: return new ::Ifc4x3_rc4::IfcDistributionFlowElementType(data); + case 327: return new ::Ifc4x3_rc4::IfcDistributionPort(data); + case 328: return new ::Ifc4x3_rc4::IfcDistributionPortTypeEnum(data); + case 329: return new ::Ifc4x3_rc4::IfcDistributionSystem(data); + case 330: return new ::Ifc4x3_rc4::IfcDistributionSystemEnum(data); + case 331: return new ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum(data); + case 332: return new ::Ifc4x3_rc4::IfcDocumentInformation(data); + case 333: return new ::Ifc4x3_rc4::IfcDocumentInformationRelationship(data); + case 334: return new ::Ifc4x3_rc4::IfcDocumentReference(data); + case 336: return new ::Ifc4x3_rc4::IfcDocumentStatusEnum(data); + case 337: return new ::Ifc4x3_rc4::IfcDoor(data); + case 338: return new ::Ifc4x3_rc4::IfcDoorLiningProperties(data); + case 339: return new ::Ifc4x3_rc4::IfcDoorPanelOperationEnum(data); + case 340: return new ::Ifc4x3_rc4::IfcDoorPanelPositionEnum(data); + case 341: return new ::Ifc4x3_rc4::IfcDoorPanelProperties(data); + case 342: return new ::Ifc4x3_rc4::IfcDoorStandardCase(data); + case 343: return new ::Ifc4x3_rc4::IfcDoorStyle(data); + case 344: return new ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum(data); + case 345: return new ::Ifc4x3_rc4::IfcDoorStyleOperationEnum(data); + case 346: return new ::Ifc4x3_rc4::IfcDoorType(data); + case 347: return new ::Ifc4x3_rc4::IfcDoorTypeEnum(data); + case 348: return new ::Ifc4x3_rc4::IfcDoorTypeOperationEnum(data); + case 349: return new ::Ifc4x3_rc4::IfcDoseEquivalentMeasure(data); + case 350: return new ::Ifc4x3_rc4::IfcDraughtingPreDefinedColour(data); + case 351: return new ::Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont(data); + case 352: return new ::Ifc4x3_rc4::IfcDuctFitting(data); + case 353: return new ::Ifc4x3_rc4::IfcDuctFittingType(data); + case 354: return new ::Ifc4x3_rc4::IfcDuctFittingTypeEnum(data); + case 355: return new ::Ifc4x3_rc4::IfcDuctSegment(data); + case 356: return new ::Ifc4x3_rc4::IfcDuctSegmentType(data); + case 357: return new ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum(data); + case 358: return new ::Ifc4x3_rc4::IfcDuctSilencer(data); + case 359: return new ::Ifc4x3_rc4::IfcDuctSilencerType(data); + case 360: return new ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum(data); + case 361: return new ::Ifc4x3_rc4::IfcDuration(data); + case 362: return new ::Ifc4x3_rc4::IfcDynamicViscosityMeasure(data); + case 363: return new ::Ifc4x3_rc4::IfcEarthworksCut(data); + case 364: return new ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum(data); + case 365: return new ::Ifc4x3_rc4::IfcEarthworksElement(data); + case 366: return new ::Ifc4x3_rc4::IfcEarthworksFill(data); + case 367: return new ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum(data); + case 368: return new ::Ifc4x3_rc4::IfcEdge(data); + case 369: return new ::Ifc4x3_rc4::IfcEdgeCurve(data); + case 370: return new ::Ifc4x3_rc4::IfcEdgeLoop(data); + case 371: return new ::Ifc4x3_rc4::IfcElectricAppliance(data); + case 372: return new ::Ifc4x3_rc4::IfcElectricApplianceType(data); + case 373: return new ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum(data); + case 374: return new ::Ifc4x3_rc4::IfcElectricCapacitanceMeasure(data); + case 375: return new ::Ifc4x3_rc4::IfcElectricChargeMeasure(data); + case 376: return new ::Ifc4x3_rc4::IfcElectricConductanceMeasure(data); + case 377: return new ::Ifc4x3_rc4::IfcElectricCurrentMeasure(data); + case 378: return new ::Ifc4x3_rc4::IfcElectricDistributionBoard(data); + case 379: return new ::Ifc4x3_rc4::IfcElectricDistributionBoardType(data); + case 380: return new ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum(data); + case 381: return new ::Ifc4x3_rc4::IfcElectricFlowStorageDevice(data); + case 382: return new ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceType(data); + case 383: return new ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum(data); + case 384: return new ::Ifc4x3_rc4::IfcElectricFlowTreatmentDevice(data); + case 385: return new ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType(data); + case 386: return new ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum(data); + case 387: return new ::Ifc4x3_rc4::IfcElectricGenerator(data); + case 388: return new ::Ifc4x3_rc4::IfcElectricGeneratorType(data); + case 389: return new ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum(data); + case 390: return new ::Ifc4x3_rc4::IfcElectricMotor(data); + case 391: return new ::Ifc4x3_rc4::IfcElectricMotorType(data); + case 392: return new ::Ifc4x3_rc4::IfcElectricMotorTypeEnum(data); + case 393: return new ::Ifc4x3_rc4::IfcElectricResistanceMeasure(data); + case 394: return new ::Ifc4x3_rc4::IfcElectricTimeControl(data); + case 395: return new ::Ifc4x3_rc4::IfcElectricTimeControlType(data); + case 396: return new ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum(data); + case 397: return new ::Ifc4x3_rc4::IfcElectricVoltageMeasure(data); + case 398: return new ::Ifc4x3_rc4::IfcElement(data); + case 399: return new ::Ifc4x3_rc4::IfcElementarySurface(data); + case 400: return new ::Ifc4x3_rc4::IfcElementAssembly(data); + case 401: return new ::Ifc4x3_rc4::IfcElementAssemblyType(data); + case 402: return new ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum(data); + case 403: return new ::Ifc4x3_rc4::IfcElementComponent(data); + case 404: return new ::Ifc4x3_rc4::IfcElementComponentType(data); + case 405: return new ::Ifc4x3_rc4::IfcElementCompositionEnum(data); + case 406: return new ::Ifc4x3_rc4::IfcElementQuantity(data); + case 407: return new ::Ifc4x3_rc4::IfcElementType(data); + case 408: return new ::Ifc4x3_rc4::IfcEllipse(data); + case 409: return new ::Ifc4x3_rc4::IfcEllipseProfileDef(data); + case 410: return new ::Ifc4x3_rc4::IfcEnergyConversionDevice(data); + case 411: return new ::Ifc4x3_rc4::IfcEnergyConversionDeviceType(data); + case 412: return new ::Ifc4x3_rc4::IfcEnergyMeasure(data); + case 413: return new ::Ifc4x3_rc4::IfcEngine(data); + case 414: return new ::Ifc4x3_rc4::IfcEngineType(data); + case 415: return new ::Ifc4x3_rc4::IfcEngineTypeEnum(data); + case 416: return new ::Ifc4x3_rc4::IfcEvaporativeCooler(data); + case 417: return new ::Ifc4x3_rc4::IfcEvaporativeCoolerType(data); + case 418: return new ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum(data); + case 419: return new ::Ifc4x3_rc4::IfcEvaporator(data); + case 420: return new ::Ifc4x3_rc4::IfcEvaporatorType(data); + case 421: return new ::Ifc4x3_rc4::IfcEvaporatorTypeEnum(data); + case 422: return new ::Ifc4x3_rc4::IfcEvent(data); + case 423: return new ::Ifc4x3_rc4::IfcEventTime(data); + case 424: return new ::Ifc4x3_rc4::IfcEventTriggerTypeEnum(data); + case 425: return new ::Ifc4x3_rc4::IfcEventType(data); + case 426: return new ::Ifc4x3_rc4::IfcEventTypeEnum(data); + case 427: return new ::Ifc4x3_rc4::IfcExtendedProperties(data); + case 428: return new ::Ifc4x3_rc4::IfcExternalInformation(data); + case 429: return new ::Ifc4x3_rc4::IfcExternallyDefinedHatchStyle(data); + case 430: return new ::Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle(data); + case 431: return new ::Ifc4x3_rc4::IfcExternallyDefinedTextFont(data); + case 432: return new ::Ifc4x3_rc4::IfcExternalReference(data); + case 433: return new ::Ifc4x3_rc4::IfcExternalReferenceRelationship(data); + case 434: return new ::Ifc4x3_rc4::IfcExternalSpatialElement(data); + case 435: return new ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum(data); + case 436: return new ::Ifc4x3_rc4::IfcExternalSpatialStructureElement(data); + case 437: return new ::Ifc4x3_rc4::IfcExtrudedAreaSolid(data); + case 438: return new ::Ifc4x3_rc4::IfcExtrudedAreaSolidTapered(data); + case 439: return new ::Ifc4x3_rc4::IfcFace(data); + case 440: return new ::Ifc4x3_rc4::IfcFaceBasedSurfaceModel(data); + case 441: return new ::Ifc4x3_rc4::IfcFaceBound(data); + case 442: return new ::Ifc4x3_rc4::IfcFaceOuterBound(data); + case 443: return new ::Ifc4x3_rc4::IfcFaceSurface(data); + case 444: return new ::Ifc4x3_rc4::IfcFacetedBrep(data); + case 445: return new ::Ifc4x3_rc4::IfcFacetedBrepWithVoids(data); + case 446: return new ::Ifc4x3_rc4::IfcFacility(data); + case 447: return new ::Ifc4x3_rc4::IfcFacilityPart(data); + case 448: return new ::Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum(data); + case 450: return new ::Ifc4x3_rc4::IfcFacilityUsageEnum(data); + case 451: return new ::Ifc4x3_rc4::IfcFailureConnectionCondition(data); + case 452: return new ::Ifc4x3_rc4::IfcFan(data); + case 453: return new ::Ifc4x3_rc4::IfcFanType(data); + case 454: return new ::Ifc4x3_rc4::IfcFanTypeEnum(data); + case 455: return new ::Ifc4x3_rc4::IfcFastener(data); + case 456: return new ::Ifc4x3_rc4::IfcFastenerType(data); + case 457: return new ::Ifc4x3_rc4::IfcFastenerTypeEnum(data); + case 458: return new ::Ifc4x3_rc4::IfcFeatureElement(data); + case 459: return new ::Ifc4x3_rc4::IfcFeatureElementAddition(data); + case 460: return new ::Ifc4x3_rc4::IfcFeatureElementSubtraction(data); + case 461: return new ::Ifc4x3_rc4::IfcFillAreaStyle(data); + case 462: return new ::Ifc4x3_rc4::IfcFillAreaStyleHatching(data); + case 463: return new ::Ifc4x3_rc4::IfcFillAreaStyleTiles(data); + case 465: return new ::Ifc4x3_rc4::IfcFilter(data); + case 466: return new ::Ifc4x3_rc4::IfcFilterType(data); + case 467: return new ::Ifc4x3_rc4::IfcFilterTypeEnum(data); + case 468: return new ::Ifc4x3_rc4::IfcFireSuppressionTerminal(data); + case 469: return new ::Ifc4x3_rc4::IfcFireSuppressionTerminalType(data); + case 470: return new ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum(data); + case 471: return new ::Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid(data); + case 472: return new ::Ifc4x3_rc4::IfcFlowController(data); + case 473: return new ::Ifc4x3_rc4::IfcFlowControllerType(data); + case 474: return new ::Ifc4x3_rc4::IfcFlowDirectionEnum(data); + case 475: return new ::Ifc4x3_rc4::IfcFlowFitting(data); + case 476: return new ::Ifc4x3_rc4::IfcFlowFittingType(data); + case 477: return new ::Ifc4x3_rc4::IfcFlowInstrument(data); + case 478: return new ::Ifc4x3_rc4::IfcFlowInstrumentType(data); + case 479: return new ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum(data); + case 480: return new ::Ifc4x3_rc4::IfcFlowMeter(data); + case 481: return new ::Ifc4x3_rc4::IfcFlowMeterType(data); + case 482: return new ::Ifc4x3_rc4::IfcFlowMeterTypeEnum(data); + case 483: return new ::Ifc4x3_rc4::IfcFlowMovingDevice(data); + case 484: return new ::Ifc4x3_rc4::IfcFlowMovingDeviceType(data); + case 485: return new ::Ifc4x3_rc4::IfcFlowSegment(data); + case 486: return new ::Ifc4x3_rc4::IfcFlowSegmentType(data); + case 487: return new ::Ifc4x3_rc4::IfcFlowStorageDevice(data); + case 488: return new ::Ifc4x3_rc4::IfcFlowStorageDeviceType(data); + case 489: return new ::Ifc4x3_rc4::IfcFlowTerminal(data); + case 490: return new ::Ifc4x3_rc4::IfcFlowTerminalType(data); + case 491: return new ::Ifc4x3_rc4::IfcFlowTreatmentDevice(data); + case 492: return new ::Ifc4x3_rc4::IfcFlowTreatmentDeviceType(data); + case 493: return new ::Ifc4x3_rc4::IfcFontStyle(data); + case 494: return new ::Ifc4x3_rc4::IfcFontVariant(data); + case 495: return new ::Ifc4x3_rc4::IfcFontWeight(data); + case 496: return new ::Ifc4x3_rc4::IfcFooting(data); + case 497: return new ::Ifc4x3_rc4::IfcFootingType(data); + case 498: return new ::Ifc4x3_rc4::IfcFootingTypeEnum(data); + case 499: return new ::Ifc4x3_rc4::IfcForceMeasure(data); + case 500: return new ::Ifc4x3_rc4::IfcFrequencyMeasure(data); + case 501: return new ::Ifc4x3_rc4::IfcFurnishingElement(data); + case 502: return new ::Ifc4x3_rc4::IfcFurnishingElementType(data); + case 503: return new ::Ifc4x3_rc4::IfcFurniture(data); + case 504: return new ::Ifc4x3_rc4::IfcFurnitureType(data); + case 505: return new ::Ifc4x3_rc4::IfcFurnitureTypeEnum(data); + case 506: return new ::Ifc4x3_rc4::IfcGeographicElement(data); + case 507: return new ::Ifc4x3_rc4::IfcGeographicElementType(data); + case 508: return new ::Ifc4x3_rc4::IfcGeographicElementTypeEnum(data); + case 509: return new ::Ifc4x3_rc4::IfcGeometricCurveSet(data); + case 510: return new ::Ifc4x3_rc4::IfcGeometricProjectionEnum(data); + case 511: return new ::Ifc4x3_rc4::IfcGeometricRepresentationContext(data); + case 512: return new ::Ifc4x3_rc4::IfcGeometricRepresentationItem(data); + case 513: return new ::Ifc4x3_rc4::IfcGeometricRepresentationSubContext(data); + case 514: return new ::Ifc4x3_rc4::IfcGeometricSet(data); + case 516: return new ::Ifc4x3_rc4::IfcGeomodel(data); + case 517: return new ::Ifc4x3_rc4::IfcGeoslice(data); + case 518: return new ::Ifc4x3_rc4::IfcGeotechnicalAssembly(data); + case 519: return new ::Ifc4x3_rc4::IfcGeotechnicalElement(data); + case 520: return new ::Ifc4x3_rc4::IfcGeotechnicalStratum(data); + case 521: return new ::Ifc4x3_rc4::IfcGloballyUniqueId(data); + case 522: return new ::Ifc4x3_rc4::IfcGlobalOrLocalEnum(data); + case 523: return new ::Ifc4x3_rc4::IfcGradientCurve(data); + case 524: return new ::Ifc4x3_rc4::IfcGrid(data); + case 525: return new ::Ifc4x3_rc4::IfcGridAxis(data); + case 526: return new ::Ifc4x3_rc4::IfcGridPlacement(data); + case 528: return new ::Ifc4x3_rc4::IfcGridTypeEnum(data); + case 529: return new ::Ifc4x3_rc4::IfcGroup(data); + case 530: return new ::Ifc4x3_rc4::IfcHalfSpaceSolid(data); + case 532: return new ::Ifc4x3_rc4::IfcHeatExchanger(data); + case 533: return new ::Ifc4x3_rc4::IfcHeatExchangerType(data); + case 534: return new ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum(data); + case 535: return new ::Ifc4x3_rc4::IfcHeatFluxDensityMeasure(data); + case 536: return new ::Ifc4x3_rc4::IfcHeatingValueMeasure(data); + case 537: return new ::Ifc4x3_rc4::IfcHumidifier(data); + case 538: return new ::Ifc4x3_rc4::IfcHumidifierType(data); + case 539: return new ::Ifc4x3_rc4::IfcHumidifierTypeEnum(data); + case 540: return new ::Ifc4x3_rc4::IfcIdentifier(data); + case 541: return new ::Ifc4x3_rc4::IfcIlluminanceMeasure(data); + case 542: return new ::Ifc4x3_rc4::IfcImageTexture(data); + case 543: return new ::Ifc4x3_rc4::IfcImpactProtectionDevice(data); + case 544: return new ::Ifc4x3_rc4::IfcImpactProtectionDeviceType(data); + case 545: return new ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum(data); + case 547: return new ::Ifc4x3_rc4::IfcIndexedColourMap(data); + case 548: return new ::Ifc4x3_rc4::IfcIndexedPolyCurve(data); + case 549: return new ::Ifc4x3_rc4::IfcIndexedPolygonalFace(data); + case 550: return new ::Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids(data); + case 551: return new ::Ifc4x3_rc4::IfcIndexedTextureMap(data); + case 552: return new ::Ifc4x3_rc4::IfcIndexedTriangleTextureMap(data); + case 553: return new ::Ifc4x3_rc4::IfcInductanceMeasure(data); + case 554: return new ::Ifc4x3_rc4::IfcInteger(data); + case 555: return new ::Ifc4x3_rc4::IfcIntegerCountRateMeasure(data); + case 556: return new ::Ifc4x3_rc4::IfcInterceptor(data); + case 557: return new ::Ifc4x3_rc4::IfcInterceptorType(data); + case 558: return new ::Ifc4x3_rc4::IfcInterceptorTypeEnum(data); + case 560: return new ::Ifc4x3_rc4::IfcInternalOrExternalEnum(data); + case 561: return new ::Ifc4x3_rc4::IfcIntersectionCurve(data); + case 562: return new ::Ifc4x3_rc4::IfcInventory(data); + case 563: return new ::Ifc4x3_rc4::IfcInventoryTypeEnum(data); + case 564: return new ::Ifc4x3_rc4::IfcIonConcentrationMeasure(data); + case 565: return new ::Ifc4x3_rc4::IfcIrregularTimeSeries(data); + case 566: return new ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue(data); + case 567: return new ::Ifc4x3_rc4::IfcIShapeProfileDef(data); + case 568: return new ::Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure(data); + case 569: return new ::Ifc4x3_rc4::IfcJunctionBox(data); + case 570: return new ::Ifc4x3_rc4::IfcJunctionBoxType(data); + case 571: return new ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum(data); + case 572: return new ::Ifc4x3_rc4::IfcKerb(data); + case 573: return new ::Ifc4x3_rc4::IfcKerbType(data); + case 574: return new ::Ifc4x3_rc4::IfcKinematicViscosityMeasure(data); + case 575: return new ::Ifc4x3_rc4::IfcKnotType(data); + case 576: return new ::Ifc4x3_rc4::IfcLabel(data); + case 577: return new ::Ifc4x3_rc4::IfcLaborResource(data); + case 578: return new ::Ifc4x3_rc4::IfcLaborResourceType(data); + case 579: return new ::Ifc4x3_rc4::IfcLaborResourceTypeEnum(data); + case 580: return new ::Ifc4x3_rc4::IfcLagTime(data); + case 581: return new ::Ifc4x3_rc4::IfcLamp(data); + case 582: return new ::Ifc4x3_rc4::IfcLampType(data); + case 583: return new ::Ifc4x3_rc4::IfcLampTypeEnum(data); + case 584: return new ::Ifc4x3_rc4::IfcLanguageId(data); + case 586: return new ::Ifc4x3_rc4::IfcLayerSetDirectionEnum(data); + case 587: return new ::Ifc4x3_rc4::IfcLengthMeasure(data); + case 588: return new ::Ifc4x3_rc4::IfcLibraryInformation(data); + case 589: return new ::Ifc4x3_rc4::IfcLibraryReference(data); + case 591: return new ::Ifc4x3_rc4::IfcLightDistributionCurveEnum(data); + case 592: return new ::Ifc4x3_rc4::IfcLightDistributionData(data); + case 594: return new ::Ifc4x3_rc4::IfcLightEmissionSourceEnum(data); + case 595: return new ::Ifc4x3_rc4::IfcLightFixture(data); + case 596: return new ::Ifc4x3_rc4::IfcLightFixtureType(data); + case 597: return new ::Ifc4x3_rc4::IfcLightFixtureTypeEnum(data); + case 598: return new ::Ifc4x3_rc4::IfcLightIntensityDistribution(data); + case 599: return new ::Ifc4x3_rc4::IfcLightSource(data); + case 600: return new ::Ifc4x3_rc4::IfcLightSourceAmbient(data); + case 601: return new ::Ifc4x3_rc4::IfcLightSourceDirectional(data); + case 602: return new ::Ifc4x3_rc4::IfcLightSourceGoniometric(data); + case 603: return new ::Ifc4x3_rc4::IfcLightSourcePositional(data); + case 604: return new ::Ifc4x3_rc4::IfcLightSourceSpot(data); + case 605: return new ::Ifc4x3_rc4::IfcLine(data); + case 606: return new ::Ifc4x3_rc4::IfcLinearElement(data); + case 607: return new ::Ifc4x3_rc4::IfcLinearForceMeasure(data); + case 608: return new ::Ifc4x3_rc4::IfcLinearMomentMeasure(data); + case 609: return new ::Ifc4x3_rc4::IfcLinearPlacement(data); + case 610: return new ::Ifc4x3_rc4::IfcLinearPositioningElement(data); + case 611: return new ::Ifc4x3_rc4::IfcLinearStiffnessMeasure(data); + case 612: return new ::Ifc4x3_rc4::IfcLinearVelocityMeasure(data); + case 613: return new ::Ifc4x3_rc4::IfcLineIndex(data); + case 614: return new ::Ifc4x3_rc4::IfcLiquidTerminal(data); + case 615: return new ::Ifc4x3_rc4::IfcLiquidTerminalType(data); + case 616: return new ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum(data); + case 617: return new ::Ifc4x3_rc4::IfcLoadGroupTypeEnum(data); + case 618: return new ::Ifc4x3_rc4::IfcLocalPlacement(data); + case 619: return new ::Ifc4x3_rc4::IfcLogical(data); + case 620: return new ::Ifc4x3_rc4::IfcLogicalOperatorEnum(data); + case 621: return new ::Ifc4x3_rc4::IfcLoop(data); + case 622: return new ::Ifc4x3_rc4::IfcLShapeProfileDef(data); + case 623: return new ::Ifc4x3_rc4::IfcLuminousFluxMeasure(data); + case 624: return new ::Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure(data); + case 625: return new ::Ifc4x3_rc4::IfcLuminousIntensityMeasure(data); + case 626: return new ::Ifc4x3_rc4::IfcMagneticFluxDensityMeasure(data); + case 627: return new ::Ifc4x3_rc4::IfcMagneticFluxMeasure(data); + case 628: return new ::Ifc4x3_rc4::IfcManifoldSolidBrep(data); + case 629: return new ::Ifc4x3_rc4::IfcMapConversion(data); + case 630: return new ::Ifc4x3_rc4::IfcMappedItem(data); + case 631: return new ::Ifc4x3_rc4::IfcMarineFacility(data); + case 632: return new ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum(data); + case 633: return new ::Ifc4x3_rc4::IfcMarinePartTypeEnum(data); + case 634: return new ::Ifc4x3_rc4::IfcMassDensityMeasure(data); + case 635: return new ::Ifc4x3_rc4::IfcMassFlowRateMeasure(data); + case 636: return new ::Ifc4x3_rc4::IfcMassMeasure(data); + case 637: return new ::Ifc4x3_rc4::IfcMassPerLengthMeasure(data); + case 638: return new ::Ifc4x3_rc4::IfcMaterial(data); + case 639: return new ::Ifc4x3_rc4::IfcMaterialClassificationRelationship(data); + case 640: return new ::Ifc4x3_rc4::IfcMaterialConstituent(data); + case 641: return new ::Ifc4x3_rc4::IfcMaterialConstituentSet(data); + case 642: return new ::Ifc4x3_rc4::IfcMaterialDefinition(data); + case 643: return new ::Ifc4x3_rc4::IfcMaterialDefinitionRepresentation(data); + case 644: return new ::Ifc4x3_rc4::IfcMaterialLayer(data); + case 645: return new ::Ifc4x3_rc4::IfcMaterialLayerSet(data); + case 646: return new ::Ifc4x3_rc4::IfcMaterialLayerSetUsage(data); + case 647: return new ::Ifc4x3_rc4::IfcMaterialLayerWithOffsets(data); + case 648: return new ::Ifc4x3_rc4::IfcMaterialList(data); + case 649: return new ::Ifc4x3_rc4::IfcMaterialProfile(data); + case 650: return new ::Ifc4x3_rc4::IfcMaterialProfileSet(data); + case 651: return new ::Ifc4x3_rc4::IfcMaterialProfileSetUsage(data); + case 652: return new ::Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering(data); + case 653: return new ::Ifc4x3_rc4::IfcMaterialProfileWithOffsets(data); + case 654: return new ::Ifc4x3_rc4::IfcMaterialProperties(data); + case 655: return new ::Ifc4x3_rc4::IfcMaterialRelationship(data); + case 657: return new ::Ifc4x3_rc4::IfcMaterialUsageDefinition(data); + case 659: return new ::Ifc4x3_rc4::IfcMeasureWithUnit(data); + case 660: return new ::Ifc4x3_rc4::IfcMechanicalFastener(data); + case 661: return new ::Ifc4x3_rc4::IfcMechanicalFastenerType(data); + case 662: return new ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum(data); + case 663: return new ::Ifc4x3_rc4::IfcMedicalDevice(data); + case 664: return new ::Ifc4x3_rc4::IfcMedicalDeviceType(data); + case 665: return new ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum(data); + case 666: return new ::Ifc4x3_rc4::IfcMember(data); + case 667: return new ::Ifc4x3_rc4::IfcMemberStandardCase(data); + case 668: return new ::Ifc4x3_rc4::IfcMemberType(data); + case 669: return new ::Ifc4x3_rc4::IfcMemberTypeEnum(data); + case 670: return new ::Ifc4x3_rc4::IfcMetric(data); + case 672: return new ::Ifc4x3_rc4::IfcMirroredProfileDef(data); + case 673: return new ::Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance(data); + case 674: return new ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType(data); + case 675: return new ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum(data); + case 676: return new ::Ifc4x3_rc4::IfcModulusOfElasticityMeasure(data); + case 677: return new ::Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure(data); + case 678: return new ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure(data); + case 680: return new ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure(data); + case 683: return new ::Ifc4x3_rc4::IfcMoistureDiffusivityMeasure(data); + case 684: return new ::Ifc4x3_rc4::IfcMolecularWeightMeasure(data); + case 685: return new ::Ifc4x3_rc4::IfcMomentOfInertiaMeasure(data); + case 686: return new ::Ifc4x3_rc4::IfcMonetaryMeasure(data); + case 687: return new ::Ifc4x3_rc4::IfcMonetaryUnit(data); + case 688: return new ::Ifc4x3_rc4::IfcMonthInYearNumber(data); + case 689: return new ::Ifc4x3_rc4::IfcMooringDevice(data); + case 690: return new ::Ifc4x3_rc4::IfcMooringDeviceType(data); + case 691: return new ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum(data); + case 692: return new ::Ifc4x3_rc4::IfcMotorConnection(data); + case 693: return new ::Ifc4x3_rc4::IfcMotorConnectionType(data); + case 694: return new ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum(data); + case 695: return new ::Ifc4x3_rc4::IfcNamedUnit(data); + case 696: return new ::Ifc4x3_rc4::IfcNavigationElement(data); + case 697: return new ::Ifc4x3_rc4::IfcNavigationElementType(data); + case 698: return new ::Ifc4x3_rc4::IfcNavigationElementTypeEnum(data); + case 699: return new ::Ifc4x3_rc4::IfcNonNegativeLengthMeasure(data); + case 700: return new ::Ifc4x3_rc4::IfcNormalisedRatioMeasure(data); + case 701: return new ::Ifc4x3_rc4::IfcNumericMeasure(data); + case 702: return new ::Ifc4x3_rc4::IfcObject(data); + case 703: return new ::Ifc4x3_rc4::IfcObjectDefinition(data); + case 704: return new ::Ifc4x3_rc4::IfcObjective(data); + case 705: return new ::Ifc4x3_rc4::IfcObjectiveEnum(data); + case 706: return new ::Ifc4x3_rc4::IfcObjectPlacement(data); + case 708: return new ::Ifc4x3_rc4::IfcObjectTypeEnum(data); + case 709: return new ::Ifc4x3_rc4::IfcOccupant(data); + case 710: return new ::Ifc4x3_rc4::IfcOccupantTypeEnum(data); + case 711: return new ::Ifc4x3_rc4::IfcOffsetCurve(data); + case 712: return new ::Ifc4x3_rc4::IfcOffsetCurve2D(data); + case 713: return new ::Ifc4x3_rc4::IfcOffsetCurve3D(data); + case 714: return new ::Ifc4x3_rc4::IfcOffsetCurveByDistances(data); + case 715: return new ::Ifc4x3_rc4::IfcOpenCrossProfileDef(data); + case 716: return new ::Ifc4x3_rc4::IfcOpeningElement(data); + case 717: return new ::Ifc4x3_rc4::IfcOpeningElementTypeEnum(data); + case 718: return new ::Ifc4x3_rc4::IfcOpeningStandardCase(data); + case 719: return new ::Ifc4x3_rc4::IfcOpenShell(data); + case 720: return new ::Ifc4x3_rc4::IfcOrganization(data); + case 721: return new ::Ifc4x3_rc4::IfcOrganizationRelationship(data); + case 722: return new ::Ifc4x3_rc4::IfcOrientedEdge(data); + case 723: return new ::Ifc4x3_rc4::IfcOuterBoundaryCurve(data); + case 724: return new ::Ifc4x3_rc4::IfcOutlet(data); + case 725: return new ::Ifc4x3_rc4::IfcOutletType(data); + case 726: return new ::Ifc4x3_rc4::IfcOutletTypeEnum(data); + case 727: return new ::Ifc4x3_rc4::IfcOwnerHistory(data); + case 728: return new ::Ifc4x3_rc4::IfcParameterizedProfileDef(data); + case 729: return new ::Ifc4x3_rc4::IfcParameterValue(data); + case 730: return new ::Ifc4x3_rc4::IfcPath(data); + case 731: return new ::Ifc4x3_rc4::IfcPavement(data); + case 732: return new ::Ifc4x3_rc4::IfcPavementType(data); + case 733: return new ::Ifc4x3_rc4::IfcPavementTypeEnum(data); + case 734: return new ::Ifc4x3_rc4::IfcPcurve(data); + case 735: return new ::Ifc4x3_rc4::IfcPerformanceHistory(data); + case 736: return new ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum(data); + case 737: return new ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum(data); + case 738: return new ::Ifc4x3_rc4::IfcPermeableCoveringProperties(data); + case 739: return new ::Ifc4x3_rc4::IfcPermit(data); + case 740: return new ::Ifc4x3_rc4::IfcPermitTypeEnum(data); + case 741: return new ::Ifc4x3_rc4::IfcPerson(data); + case 742: return new ::Ifc4x3_rc4::IfcPersonAndOrganization(data); + case 743: return new ::Ifc4x3_rc4::IfcPHMeasure(data); + case 744: return new ::Ifc4x3_rc4::IfcPhysicalComplexQuantity(data); + case 745: return new ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum(data); + case 746: return new ::Ifc4x3_rc4::IfcPhysicalQuantity(data); + case 747: return new ::Ifc4x3_rc4::IfcPhysicalSimpleQuantity(data); + case 748: return new ::Ifc4x3_rc4::IfcPile(data); + case 749: return new ::Ifc4x3_rc4::IfcPileConstructionEnum(data); + case 750: return new ::Ifc4x3_rc4::IfcPileType(data); + case 751: return new ::Ifc4x3_rc4::IfcPileTypeEnum(data); + case 752: return new ::Ifc4x3_rc4::IfcPipeFitting(data); + case 753: return new ::Ifc4x3_rc4::IfcPipeFittingType(data); + case 754: return new ::Ifc4x3_rc4::IfcPipeFittingTypeEnum(data); + case 755: return new ::Ifc4x3_rc4::IfcPipeSegment(data); + case 756: return new ::Ifc4x3_rc4::IfcPipeSegmentType(data); + case 757: return new ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum(data); + case 758: return new ::Ifc4x3_rc4::IfcPixelTexture(data); + case 759: return new ::Ifc4x3_rc4::IfcPlacement(data); + case 760: return new ::Ifc4x3_rc4::IfcPlanarBox(data); + case 761: return new ::Ifc4x3_rc4::IfcPlanarExtent(data); + case 762: return new ::Ifc4x3_rc4::IfcPlanarForceMeasure(data); + case 763: return new ::Ifc4x3_rc4::IfcPlane(data); + case 764: return new ::Ifc4x3_rc4::IfcPlaneAngleMeasure(data); + case 765: return new ::Ifc4x3_rc4::IfcPlant(data); + case 766: return new ::Ifc4x3_rc4::IfcPlate(data); + case 767: return new ::Ifc4x3_rc4::IfcPlateStandardCase(data); + case 768: return new ::Ifc4x3_rc4::IfcPlateType(data); + case 769: return new ::Ifc4x3_rc4::IfcPlateTypeEnum(data); + case 770: return new ::Ifc4x3_rc4::IfcPoint(data); + case 771: return new ::Ifc4x3_rc4::IfcPointByDistanceExpression(data); + case 772: return new ::Ifc4x3_rc4::IfcPointOnCurve(data); + case 773: return new ::Ifc4x3_rc4::IfcPointOnSurface(data); + case 775: return new ::Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace(data); + case 776: return new ::Ifc4x3_rc4::IfcPolygonalFaceSet(data); + case 777: return new ::Ifc4x3_rc4::IfcPolyline(data); + case 778: return new ::Ifc4x3_rc4::IfcPolyLoop(data); + case 779: return new ::Ifc4x3_rc4::IfcPolynomialCurve(data); + case 780: return new ::Ifc4x3_rc4::IfcPort(data); + case 781: return new ::Ifc4x3_rc4::IfcPositioningElement(data); + case 782: return new ::Ifc4x3_rc4::IfcPositiveInteger(data); + case 783: return new ::Ifc4x3_rc4::IfcPositiveLengthMeasure(data); + case 784: return new ::Ifc4x3_rc4::IfcPositivePlaneAngleMeasure(data); + case 785: return new ::Ifc4x3_rc4::IfcPositiveRatioMeasure(data); + case 786: return new ::Ifc4x3_rc4::IfcPostalAddress(data); + case 787: return new ::Ifc4x3_rc4::IfcPowerMeasure(data); + case 788: return new ::Ifc4x3_rc4::IfcPreDefinedColour(data); + case 789: return new ::Ifc4x3_rc4::IfcPreDefinedCurveFont(data); + case 790: return new ::Ifc4x3_rc4::IfcPreDefinedItem(data); + case 791: return new ::Ifc4x3_rc4::IfcPreDefinedProperties(data); + case 792: return new ::Ifc4x3_rc4::IfcPreDefinedPropertySet(data); + case 793: return new ::Ifc4x3_rc4::IfcPreDefinedTextFont(data); + case 794: return new ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation(data); + case 795: return new ::Ifc4x3_rc4::IfcPresentableText(data); + case 796: return new ::Ifc4x3_rc4::IfcPresentationItem(data); + case 797: return new ::Ifc4x3_rc4::IfcPresentationLayerAssignment(data); + case 798: return new ::Ifc4x3_rc4::IfcPresentationLayerWithStyle(data); + case 799: return new ::Ifc4x3_rc4::IfcPresentationStyle(data); + case 800: return new ::Ifc4x3_rc4::IfcPressureMeasure(data); + case 801: return new ::Ifc4x3_rc4::IfcProcedure(data); + case 802: return new ::Ifc4x3_rc4::IfcProcedureType(data); + case 803: return new ::Ifc4x3_rc4::IfcProcedureTypeEnum(data); + case 804: return new ::Ifc4x3_rc4::IfcProcess(data); + case 806: return new ::Ifc4x3_rc4::IfcProduct(data); + case 807: return new ::Ifc4x3_rc4::IfcProductDefinitionShape(data); + case 808: return new ::Ifc4x3_rc4::IfcProductRepresentation(data); + case 811: return new ::Ifc4x3_rc4::IfcProfileDef(data); + case 812: return new ::Ifc4x3_rc4::IfcProfileProperties(data); + case 813: return new ::Ifc4x3_rc4::IfcProfileTypeEnum(data); + case 814: return new ::Ifc4x3_rc4::IfcProject(data); + case 815: return new ::Ifc4x3_rc4::IfcProjectedCRS(data); + case 816: return new ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum(data); + case 817: return new ::Ifc4x3_rc4::IfcProjectionElement(data); + case 818: return new ::Ifc4x3_rc4::IfcProjectionElementTypeEnum(data); + case 819: return new ::Ifc4x3_rc4::IfcProjectLibrary(data); + case 820: return new ::Ifc4x3_rc4::IfcProjectOrder(data); + case 821: return new ::Ifc4x3_rc4::IfcProjectOrderTypeEnum(data); + case 822: return new ::Ifc4x3_rc4::IfcProperty(data); + case 823: return new ::Ifc4x3_rc4::IfcPropertyAbstraction(data); + case 824: return new ::Ifc4x3_rc4::IfcPropertyBoundedValue(data); + case 825: return new ::Ifc4x3_rc4::IfcPropertyDefinition(data); + case 826: return new ::Ifc4x3_rc4::IfcPropertyDependencyRelationship(data); + case 827: return new ::Ifc4x3_rc4::IfcPropertyEnumeratedValue(data); + case 828: return new ::Ifc4x3_rc4::IfcPropertyEnumeration(data); + case 829: return new ::Ifc4x3_rc4::IfcPropertyListValue(data); + case 830: return new ::Ifc4x3_rc4::IfcPropertyReferenceValue(data); + case 831: return new ::Ifc4x3_rc4::IfcPropertySet(data); + case 832: return new ::Ifc4x3_rc4::IfcPropertySetDefinition(data); + case 834: return new ::Ifc4x3_rc4::IfcPropertySetDefinitionSet(data); + case 835: return new ::Ifc4x3_rc4::IfcPropertySetTemplate(data); + case 836: return new ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum(data); + case 837: return new ::Ifc4x3_rc4::IfcPropertySingleValue(data); + case 838: return new ::Ifc4x3_rc4::IfcPropertyTableValue(data); + case 839: return new ::Ifc4x3_rc4::IfcPropertyTemplate(data); + case 840: return new ::Ifc4x3_rc4::IfcPropertyTemplateDefinition(data); + case 841: return new ::Ifc4x3_rc4::IfcProtectiveDevice(data); + case 842: return new ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit(data); + case 843: return new ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType(data); + case 844: return new ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum(data); + case 845: return new ::Ifc4x3_rc4::IfcProtectiveDeviceType(data); + case 846: return new ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum(data); + case 847: return new ::Ifc4x3_rc4::IfcProxy(data); + case 848: return new ::Ifc4x3_rc4::IfcPump(data); + case 849: return new ::Ifc4x3_rc4::IfcPumpType(data); + case 850: return new ::Ifc4x3_rc4::IfcPumpTypeEnum(data); + case 851: return new ::Ifc4x3_rc4::IfcQuantityArea(data); + case 852: return new ::Ifc4x3_rc4::IfcQuantityCount(data); + case 853: return new ::Ifc4x3_rc4::IfcQuantityLength(data); + case 854: return new ::Ifc4x3_rc4::IfcQuantitySet(data); + case 855: return new ::Ifc4x3_rc4::IfcQuantityTime(data); + case 856: return new ::Ifc4x3_rc4::IfcQuantityVolume(data); + case 857: return new ::Ifc4x3_rc4::IfcQuantityWeight(data); + case 858: return new ::Ifc4x3_rc4::IfcRadioActivityMeasure(data); + case 859: return new ::Ifc4x3_rc4::IfcRail(data); + case 860: return new ::Ifc4x3_rc4::IfcRailing(data); + case 861: return new ::Ifc4x3_rc4::IfcRailingType(data); + case 862: return new ::Ifc4x3_rc4::IfcRailingTypeEnum(data); + case 863: return new ::Ifc4x3_rc4::IfcRailType(data); + case 864: return new ::Ifc4x3_rc4::IfcRailTypeEnum(data); + case 865: return new ::Ifc4x3_rc4::IfcRailway(data); + case 866: return new ::Ifc4x3_rc4::IfcRailwayPartTypeEnum(data); + case 867: return new ::Ifc4x3_rc4::IfcRailwayTypeEnum(data); + case 868: return new ::Ifc4x3_rc4::IfcRamp(data); + case 869: return new ::Ifc4x3_rc4::IfcRampFlight(data); + case 870: return new ::Ifc4x3_rc4::IfcRampFlightType(data); + case 871: return new ::Ifc4x3_rc4::IfcRampFlightTypeEnum(data); + case 872: return new ::Ifc4x3_rc4::IfcRampType(data); + case 873: return new ::Ifc4x3_rc4::IfcRampTypeEnum(data); + case 874: return new ::Ifc4x3_rc4::IfcRatioMeasure(data); + case 875: return new ::Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots(data); + case 876: return new ::Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots(data); + case 877: return new ::Ifc4x3_rc4::IfcReal(data); + case 878: return new ::Ifc4x3_rc4::IfcRectangleHollowProfileDef(data); + case 879: return new ::Ifc4x3_rc4::IfcRectangleProfileDef(data); + case 880: return new ::Ifc4x3_rc4::IfcRectangularPyramid(data); + case 881: return new ::Ifc4x3_rc4::IfcRectangularTrimmedSurface(data); + case 882: return new ::Ifc4x3_rc4::IfcRecurrencePattern(data); + case 883: return new ::Ifc4x3_rc4::IfcRecurrenceTypeEnum(data); + case 884: return new ::Ifc4x3_rc4::IfcReference(data); + case 885: return new ::Ifc4x3_rc4::IfcReferent(data); + case 886: return new ::Ifc4x3_rc4::IfcReferentTypeEnum(data); + case 887: return new ::Ifc4x3_rc4::IfcReflectanceMethodEnum(data); + case 888: return new ::Ifc4x3_rc4::IfcRegularTimeSeries(data); + case 889: return new ::Ifc4x3_rc4::IfcReinforcedSoil(data); + case 890: return new ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum(data); + case 891: return new ::Ifc4x3_rc4::IfcReinforcementBarProperties(data); + case 892: return new ::Ifc4x3_rc4::IfcReinforcementDefinitionProperties(data); + case 893: return new ::Ifc4x3_rc4::IfcReinforcingBar(data); + case 894: return new ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum(data); + case 895: return new ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum(data); + case 896: return new ::Ifc4x3_rc4::IfcReinforcingBarType(data); + case 897: return new ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum(data); + case 898: return new ::Ifc4x3_rc4::IfcReinforcingElement(data); + case 899: return new ::Ifc4x3_rc4::IfcReinforcingElementType(data); + case 900: return new ::Ifc4x3_rc4::IfcReinforcingMesh(data); + case 901: return new ::Ifc4x3_rc4::IfcReinforcingMeshType(data); + case 902: return new ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum(data); + case 903: return new ::Ifc4x3_rc4::IfcRelAdheresToElement(data); + case 904: return new ::Ifc4x3_rc4::IfcRelAggregates(data); + case 905: return new ::Ifc4x3_rc4::IfcRelAssigns(data); + case 906: return new ::Ifc4x3_rc4::IfcRelAssignsToActor(data); + case 907: return new ::Ifc4x3_rc4::IfcRelAssignsToControl(data); + case 908: return new ::Ifc4x3_rc4::IfcRelAssignsToGroup(data); + case 909: return new ::Ifc4x3_rc4::IfcRelAssignsToGroupByFactor(data); + case 910: return new ::Ifc4x3_rc4::IfcRelAssignsToProcess(data); + case 911: return new ::Ifc4x3_rc4::IfcRelAssignsToProduct(data); + case 912: return new ::Ifc4x3_rc4::IfcRelAssignsToResource(data); + case 913: return new ::Ifc4x3_rc4::IfcRelAssociates(data); + case 914: return new ::Ifc4x3_rc4::IfcRelAssociatesApproval(data); + case 915: return new ::Ifc4x3_rc4::IfcRelAssociatesClassification(data); + case 916: return new ::Ifc4x3_rc4::IfcRelAssociatesConstraint(data); + case 917: return new ::Ifc4x3_rc4::IfcRelAssociatesDocument(data); + case 918: return new ::Ifc4x3_rc4::IfcRelAssociatesLibrary(data); + case 919: return new ::Ifc4x3_rc4::IfcRelAssociatesMaterial(data); + case 920: return new ::Ifc4x3_rc4::IfcRelAssociatesProfileDef(data); + case 921: return new ::Ifc4x3_rc4::IfcRelationship(data); + case 922: return new ::Ifc4x3_rc4::IfcRelConnects(data); + case 923: return new ::Ifc4x3_rc4::IfcRelConnectsElements(data); + case 924: return new ::Ifc4x3_rc4::IfcRelConnectsPathElements(data); + case 925: return new ::Ifc4x3_rc4::IfcRelConnectsPorts(data); + case 926: return new ::Ifc4x3_rc4::IfcRelConnectsPortToElement(data); + case 927: return new ::Ifc4x3_rc4::IfcRelConnectsStructuralActivity(data); + case 928: return new ::Ifc4x3_rc4::IfcRelConnectsStructuralMember(data); + case 929: return new ::Ifc4x3_rc4::IfcRelConnectsWithEccentricity(data); + case 930: return new ::Ifc4x3_rc4::IfcRelConnectsWithRealizingElements(data); + case 931: return new ::Ifc4x3_rc4::IfcRelContainedInSpatialStructure(data); + case 932: return new ::Ifc4x3_rc4::IfcRelCoversBldgElements(data); + case 933: return new ::Ifc4x3_rc4::IfcRelCoversSpaces(data); + case 934: return new ::Ifc4x3_rc4::IfcRelDeclares(data); + case 935: return new ::Ifc4x3_rc4::IfcRelDecomposes(data); + case 936: return new ::Ifc4x3_rc4::IfcRelDefines(data); + case 937: return new ::Ifc4x3_rc4::IfcRelDefinesByObject(data); + case 938: return new ::Ifc4x3_rc4::IfcRelDefinesByProperties(data); + case 939: return new ::Ifc4x3_rc4::IfcRelDefinesByTemplate(data); + case 940: return new ::Ifc4x3_rc4::IfcRelDefinesByType(data); + case 941: return new ::Ifc4x3_rc4::IfcRelFillsElement(data); + case 942: return new ::Ifc4x3_rc4::IfcRelFlowControlElements(data); + case 943: return new ::Ifc4x3_rc4::IfcRelInterferesElements(data); + case 944: return new ::Ifc4x3_rc4::IfcRelNests(data); + case 945: return new ::Ifc4x3_rc4::IfcRelPositions(data); + case 946: return new ::Ifc4x3_rc4::IfcRelProjectsElement(data); + case 947: return new ::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure(data); + case 948: return new ::Ifc4x3_rc4::IfcRelSequence(data); + case 949: return new ::Ifc4x3_rc4::IfcRelServicesBuildings(data); + case 950: return new ::Ifc4x3_rc4::IfcRelSpaceBoundary(data); + case 951: return new ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel(data); + case 952: return new ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel(data); + case 953: return new ::Ifc4x3_rc4::IfcRelVoidsElement(data); + case 954: return new ::Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment(data); + case 955: return new ::Ifc4x3_rc4::IfcRepresentation(data); + case 956: return new ::Ifc4x3_rc4::IfcRepresentationContext(data); + case 957: return new ::Ifc4x3_rc4::IfcRepresentationItem(data); + case 958: return new ::Ifc4x3_rc4::IfcRepresentationMap(data); + case 959: return new ::Ifc4x3_rc4::IfcResource(data); + case 960: return new ::Ifc4x3_rc4::IfcResourceApprovalRelationship(data); + case 961: return new ::Ifc4x3_rc4::IfcResourceConstraintRelationship(data); + case 962: return new ::Ifc4x3_rc4::IfcResourceLevelRelationship(data); + case 965: return new ::Ifc4x3_rc4::IfcResourceTime(data); + case 966: return new ::Ifc4x3_rc4::IfcRevolvedAreaSolid(data); + case 967: return new ::Ifc4x3_rc4::IfcRevolvedAreaSolidTapered(data); + case 968: return new ::Ifc4x3_rc4::IfcRightCircularCone(data); + case 969: return new ::Ifc4x3_rc4::IfcRightCircularCylinder(data); + case 970: return new ::Ifc4x3_rc4::IfcRoad(data); + case 971: return new ::Ifc4x3_rc4::IfcRoadPartTypeEnum(data); + case 972: return new ::Ifc4x3_rc4::IfcRoadTypeEnum(data); + case 973: return new ::Ifc4x3_rc4::IfcRoleEnum(data); + case 974: return new ::Ifc4x3_rc4::IfcRoof(data); + case 975: return new ::Ifc4x3_rc4::IfcRoofType(data); + case 976: return new ::Ifc4x3_rc4::IfcRoofTypeEnum(data); + case 977: return new ::Ifc4x3_rc4::IfcRoot(data); + case 978: return new ::Ifc4x3_rc4::IfcRotationalFrequencyMeasure(data); + case 979: return new ::Ifc4x3_rc4::IfcRotationalMassMeasure(data); + case 980: return new ::Ifc4x3_rc4::IfcRotationalStiffnessMeasure(data); + case 982: return new ::Ifc4x3_rc4::IfcRoundedRectangleProfileDef(data); + case 983: return new ::Ifc4x3_rc4::IfcSanitaryTerminal(data); + case 984: return new ::Ifc4x3_rc4::IfcSanitaryTerminalType(data); + case 985: return new ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum(data); + case 986: return new ::Ifc4x3_rc4::IfcSchedulingTime(data); + case 987: return new ::Ifc4x3_rc4::IfcSeamCurve(data); + case 988: return new ::Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral(data); + case 989: return new ::Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure(data); + case 990: return new ::Ifc4x3_rc4::IfcSectionedSolid(data); + case 991: return new ::Ifc4x3_rc4::IfcSectionedSolidHorizontal(data); + case 992: return new ::Ifc4x3_rc4::IfcSectionedSpine(data); + case 993: return new ::Ifc4x3_rc4::IfcSectionedSurface(data); + case 994: return new ::Ifc4x3_rc4::IfcSectionModulusMeasure(data); + case 995: return new ::Ifc4x3_rc4::IfcSectionProperties(data); + case 996: return new ::Ifc4x3_rc4::IfcSectionReinforcementProperties(data); + case 997: return new ::Ifc4x3_rc4::IfcSectionTypeEnum(data); + case 998: return new ::Ifc4x3_rc4::IfcSegment(data); + case 999: return new ::Ifc4x3_rc4::IfcSegmentedReferenceCurve(data); + case 1001: return new ::Ifc4x3_rc4::IfcSensor(data); + case 1002: return new ::Ifc4x3_rc4::IfcSensorType(data); + case 1003: return new ::Ifc4x3_rc4::IfcSensorTypeEnum(data); + case 1004: return new ::Ifc4x3_rc4::IfcSequenceEnum(data); + case 1005: return new ::Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral(data); + case 1006: return new ::Ifc4x3_rc4::IfcShadingDevice(data); + case 1007: return new ::Ifc4x3_rc4::IfcShadingDeviceType(data); + case 1008: return new ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum(data); + case 1009: return new ::Ifc4x3_rc4::IfcShapeAspect(data); + case 1010: return new ::Ifc4x3_rc4::IfcShapeModel(data); + case 1011: return new ::Ifc4x3_rc4::IfcShapeRepresentation(data); + case 1012: return new ::Ifc4x3_rc4::IfcShearModulusMeasure(data); + case 1014: return new ::Ifc4x3_rc4::IfcShellBasedSurfaceModel(data); + case 1015: return new ::Ifc4x3_rc4::IfcSign(data); + case 1016: return new ::Ifc4x3_rc4::IfcSignal(data); + case 1017: return new ::Ifc4x3_rc4::IfcSignalType(data); + case 1018: return new ::Ifc4x3_rc4::IfcSignalTypeEnum(data); + case 1019: return new ::Ifc4x3_rc4::IfcSignType(data); + case 1020: return new ::Ifc4x3_rc4::IfcSignTypeEnum(data); + case 1021: return new ::Ifc4x3_rc4::IfcSimpleProperty(data); + case 1022: return new ::Ifc4x3_rc4::IfcSimplePropertyTemplate(data); + case 1023: return new ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum(data); + case 1025: return new ::Ifc4x3_rc4::IfcSine(data); + case 1026: return new ::Ifc4x3_rc4::IfcSIPrefix(data); + case 1027: return new ::Ifc4x3_rc4::IfcSite(data); + case 1028: return new ::Ifc4x3_rc4::IfcSIUnit(data); + case 1029: return new ::Ifc4x3_rc4::IfcSIUnitName(data); + case 1031: return new ::Ifc4x3_rc4::IfcSlab(data); + case 1032: return new ::Ifc4x3_rc4::IfcSlabElementedCase(data); + case 1033: return new ::Ifc4x3_rc4::IfcSlabStandardCase(data); + case 1034: return new ::Ifc4x3_rc4::IfcSlabType(data); + case 1035: return new ::Ifc4x3_rc4::IfcSlabTypeEnum(data); + case 1036: return new ::Ifc4x3_rc4::IfcSlippageConnectionCondition(data); + case 1037: return new ::Ifc4x3_rc4::IfcSolarDevice(data); + case 1038: return new ::Ifc4x3_rc4::IfcSolarDeviceType(data); + case 1039: return new ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum(data); + case 1040: return new ::Ifc4x3_rc4::IfcSolidAngleMeasure(data); + case 1041: return new ::Ifc4x3_rc4::IfcSolidModel(data); + case 1043: return new ::Ifc4x3_rc4::IfcSolidStratum(data); + case 1044: return new ::Ifc4x3_rc4::IfcSoundPowerLevelMeasure(data); + case 1045: return new ::Ifc4x3_rc4::IfcSoundPowerMeasure(data); + case 1046: return new ::Ifc4x3_rc4::IfcSoundPressureLevelMeasure(data); + case 1047: return new ::Ifc4x3_rc4::IfcSoundPressureMeasure(data); + case 1048: return new ::Ifc4x3_rc4::IfcSpace(data); + case 1050: return new ::Ifc4x3_rc4::IfcSpaceHeater(data); + case 1051: return new ::Ifc4x3_rc4::IfcSpaceHeaterType(data); + case 1052: return new ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum(data); + case 1053: return new ::Ifc4x3_rc4::IfcSpaceType(data); + case 1054: return new ::Ifc4x3_rc4::IfcSpaceTypeEnum(data); + case 1055: return new ::Ifc4x3_rc4::IfcSpatialElement(data); + case 1056: return new ::Ifc4x3_rc4::IfcSpatialElementType(data); + case 1058: return new ::Ifc4x3_rc4::IfcSpatialStructureElement(data); + case 1059: return new ::Ifc4x3_rc4::IfcSpatialStructureElementType(data); + case 1060: return new ::Ifc4x3_rc4::IfcSpatialZone(data); + case 1061: return new ::Ifc4x3_rc4::IfcSpatialZoneType(data); + case 1062: return new ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum(data); + case 1063: return new ::Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure(data); + case 1064: return new ::Ifc4x3_rc4::IfcSpecularExponent(data); + case 1066: return new ::Ifc4x3_rc4::IfcSpecularRoughness(data); + case 1067: return new ::Ifc4x3_rc4::IfcSphere(data); + case 1068: return new ::Ifc4x3_rc4::IfcSphericalSurface(data); + case 1069: return new ::Ifc4x3_rc4::IfcSpiral(data); + case 1070: return new ::Ifc4x3_rc4::IfcStackTerminal(data); + case 1071: return new ::Ifc4x3_rc4::IfcStackTerminalType(data); + case 1072: return new ::Ifc4x3_rc4::IfcStackTerminalTypeEnum(data); + case 1073: return new ::Ifc4x3_rc4::IfcStair(data); + case 1074: return new ::Ifc4x3_rc4::IfcStairFlight(data); + case 1075: return new ::Ifc4x3_rc4::IfcStairFlightType(data); + case 1076: return new ::Ifc4x3_rc4::IfcStairFlightTypeEnum(data); + case 1077: return new ::Ifc4x3_rc4::IfcStairType(data); + case 1078: return new ::Ifc4x3_rc4::IfcStairTypeEnum(data); + case 1079: return new ::Ifc4x3_rc4::IfcStateEnum(data); + case 1080: return new ::Ifc4x3_rc4::IfcStructuralAction(data); + case 1081: return new ::Ifc4x3_rc4::IfcStructuralActivity(data); + case 1083: return new ::Ifc4x3_rc4::IfcStructuralAnalysisModel(data); + case 1084: return new ::Ifc4x3_rc4::IfcStructuralConnection(data); + case 1085: return new ::Ifc4x3_rc4::IfcStructuralConnectionCondition(data); + case 1086: return new ::Ifc4x3_rc4::IfcStructuralCurveAction(data); + case 1087: return new ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum(data); + case 1088: return new ::Ifc4x3_rc4::IfcStructuralCurveConnection(data); + case 1089: return new ::Ifc4x3_rc4::IfcStructuralCurveMember(data); + case 1090: return new ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum(data); + case 1091: return new ::Ifc4x3_rc4::IfcStructuralCurveMemberVarying(data); + case 1092: return new ::Ifc4x3_rc4::IfcStructuralCurveReaction(data); + case 1093: return new ::Ifc4x3_rc4::IfcStructuralItem(data); + case 1094: return new ::Ifc4x3_rc4::IfcStructuralLinearAction(data); + case 1095: return new ::Ifc4x3_rc4::IfcStructuralLoad(data); + case 1096: return new ::Ifc4x3_rc4::IfcStructuralLoadCase(data); + case 1097: return new ::Ifc4x3_rc4::IfcStructuralLoadConfiguration(data); + case 1098: return new ::Ifc4x3_rc4::IfcStructuralLoadGroup(data); + case 1099: return new ::Ifc4x3_rc4::IfcStructuralLoadLinearForce(data); + case 1100: return new ::Ifc4x3_rc4::IfcStructuralLoadOrResult(data); + case 1101: return new ::Ifc4x3_rc4::IfcStructuralLoadPlanarForce(data); + case 1102: return new ::Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement(data); + case 1103: return new ::Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion(data); + case 1104: return new ::Ifc4x3_rc4::IfcStructuralLoadSingleForce(data); + case 1105: return new ::Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping(data); + case 1106: return new ::Ifc4x3_rc4::IfcStructuralLoadStatic(data); + case 1107: return new ::Ifc4x3_rc4::IfcStructuralLoadTemperature(data); + case 1108: return new ::Ifc4x3_rc4::IfcStructuralMember(data); + case 1109: return new ::Ifc4x3_rc4::IfcStructuralPlanarAction(data); + case 1110: return new ::Ifc4x3_rc4::IfcStructuralPointAction(data); + case 1111: return new ::Ifc4x3_rc4::IfcStructuralPointConnection(data); + case 1112: return new ::Ifc4x3_rc4::IfcStructuralPointReaction(data); + case 1113: return new ::Ifc4x3_rc4::IfcStructuralReaction(data); + case 1114: return new ::Ifc4x3_rc4::IfcStructuralResultGroup(data); + case 1115: return new ::Ifc4x3_rc4::IfcStructuralSurfaceAction(data); + case 1116: return new ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum(data); + case 1117: return new ::Ifc4x3_rc4::IfcStructuralSurfaceConnection(data); + case 1118: return new ::Ifc4x3_rc4::IfcStructuralSurfaceMember(data); + case 1119: return new ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum(data); + case 1120: return new ::Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying(data); + case 1121: return new ::Ifc4x3_rc4::IfcStructuralSurfaceReaction(data); + case 1122: return new ::Ifc4x3_rc4::IfcStyledItem(data); + case 1123: return new ::Ifc4x3_rc4::IfcStyledRepresentation(data); + case 1124: return new ::Ifc4x3_rc4::IfcStyleModel(data); + case 1125: return new ::Ifc4x3_rc4::IfcSubContractResource(data); + case 1126: return new ::Ifc4x3_rc4::IfcSubContractResourceType(data); + case 1127: return new ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum(data); + case 1128: return new ::Ifc4x3_rc4::IfcSubedge(data); + case 1129: return new ::Ifc4x3_rc4::IfcSurface(data); + case 1130: return new ::Ifc4x3_rc4::IfcSurfaceCurve(data); + case 1131: return new ::Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid(data); + case 1132: return new ::Ifc4x3_rc4::IfcSurfaceFeature(data); + case 1133: return new ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum(data); + case 1134: return new ::Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion(data); + case 1135: return new ::Ifc4x3_rc4::IfcSurfaceOfRevolution(data); + case 1137: return new ::Ifc4x3_rc4::IfcSurfaceReinforcementArea(data); + case 1138: return new ::Ifc4x3_rc4::IfcSurfaceSide(data); + case 1139: return new ::Ifc4x3_rc4::IfcSurfaceStyle(data); + case 1141: return new ::Ifc4x3_rc4::IfcSurfaceStyleLighting(data); + case 1142: return new ::Ifc4x3_rc4::IfcSurfaceStyleRefraction(data); + case 1143: return new ::Ifc4x3_rc4::IfcSurfaceStyleRendering(data); + case 1144: return new ::Ifc4x3_rc4::IfcSurfaceStyleShading(data); + case 1145: return new ::Ifc4x3_rc4::IfcSurfaceStyleWithTextures(data); + case 1146: return new ::Ifc4x3_rc4::IfcSurfaceTexture(data); + case 1147: return new ::Ifc4x3_rc4::IfcSweptAreaSolid(data); + case 1148: return new ::Ifc4x3_rc4::IfcSweptDiskSolid(data); + case 1149: return new ::Ifc4x3_rc4::IfcSweptDiskSolidPolygonal(data); + case 1150: return new ::Ifc4x3_rc4::IfcSweptSurface(data); + case 1151: return new ::Ifc4x3_rc4::IfcSwitchingDevice(data); + case 1152: return new ::Ifc4x3_rc4::IfcSwitchingDeviceType(data); + case 1153: return new ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum(data); + case 1154: return new ::Ifc4x3_rc4::IfcSystem(data); + case 1155: return new ::Ifc4x3_rc4::IfcSystemFurnitureElement(data); + case 1156: return new ::Ifc4x3_rc4::IfcSystemFurnitureElementType(data); + case 1157: return new ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum(data); + case 1158: return new ::Ifc4x3_rc4::IfcTable(data); + case 1159: return new ::Ifc4x3_rc4::IfcTableColumn(data); + case 1160: return new ::Ifc4x3_rc4::IfcTableRow(data); + case 1161: return new ::Ifc4x3_rc4::IfcTank(data); + case 1162: return new ::Ifc4x3_rc4::IfcTankType(data); + case 1163: return new ::Ifc4x3_rc4::IfcTankTypeEnum(data); + case 1164: return new ::Ifc4x3_rc4::IfcTask(data); + case 1165: return new ::Ifc4x3_rc4::IfcTaskDurationEnum(data); + case 1166: return new ::Ifc4x3_rc4::IfcTaskTime(data); + case 1167: return new ::Ifc4x3_rc4::IfcTaskTimeRecurring(data); + case 1168: return new ::Ifc4x3_rc4::IfcTaskType(data); + case 1169: return new ::Ifc4x3_rc4::IfcTaskTypeEnum(data); + case 1170: return new ::Ifc4x3_rc4::IfcTelecomAddress(data); + case 1171: return new ::Ifc4x3_rc4::IfcTemperatureGradientMeasure(data); + case 1172: return new ::Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure(data); + case 1173: return new ::Ifc4x3_rc4::IfcTendon(data); + case 1174: return new ::Ifc4x3_rc4::IfcTendonAnchor(data); + case 1175: return new ::Ifc4x3_rc4::IfcTendonAnchorType(data); + case 1176: return new ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum(data); + case 1177: return new ::Ifc4x3_rc4::IfcTendonConduit(data); + case 1178: return new ::Ifc4x3_rc4::IfcTendonConduitType(data); + case 1179: return new ::Ifc4x3_rc4::IfcTendonConduitTypeEnum(data); + case 1180: return new ::Ifc4x3_rc4::IfcTendonType(data); + case 1181: return new ::Ifc4x3_rc4::IfcTendonTypeEnum(data); + case 1182: return new ::Ifc4x3_rc4::IfcTessellatedFaceSet(data); + case 1183: return new ::Ifc4x3_rc4::IfcTessellatedItem(data); + case 1184: return new ::Ifc4x3_rc4::IfcText(data); + case 1185: return new ::Ifc4x3_rc4::IfcTextAlignment(data); + case 1186: return new ::Ifc4x3_rc4::IfcTextDecoration(data); + case 1187: return new ::Ifc4x3_rc4::IfcTextFontName(data); + case 1189: return new ::Ifc4x3_rc4::IfcTextLiteral(data); + case 1190: return new ::Ifc4x3_rc4::IfcTextLiteralWithExtent(data); + case 1191: return new ::Ifc4x3_rc4::IfcTextPath(data); + case 1192: return new ::Ifc4x3_rc4::IfcTextStyle(data); + case 1193: return new ::Ifc4x3_rc4::IfcTextStyleFontModel(data); + case 1194: return new ::Ifc4x3_rc4::IfcTextStyleForDefinedFont(data); + case 1195: return new ::Ifc4x3_rc4::IfcTextStyleTextModel(data); + case 1196: return new ::Ifc4x3_rc4::IfcTextTransformation(data); + case 1197: return new ::Ifc4x3_rc4::IfcTextureCoordinate(data); + case 1198: return new ::Ifc4x3_rc4::IfcTextureCoordinateGenerator(data); + case 1199: return new ::Ifc4x3_rc4::IfcTextureMap(data); + case 1200: return new ::Ifc4x3_rc4::IfcTextureVertex(data); + case 1201: return new ::Ifc4x3_rc4::IfcTextureVertexList(data); + case 1202: return new ::Ifc4x3_rc4::IfcThermalAdmittanceMeasure(data); + case 1203: return new ::Ifc4x3_rc4::IfcThermalConductivityMeasure(data); + case 1204: return new ::Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure(data); + case 1205: return new ::Ifc4x3_rc4::IfcThermalResistanceMeasure(data); + case 1206: return new ::Ifc4x3_rc4::IfcThermalTransmittanceMeasure(data); + case 1207: return new ::Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure(data); + case 1208: return new ::Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral(data); + case 1209: return new ::Ifc4x3_rc4::IfcTime(data); + case 1210: return new ::Ifc4x3_rc4::IfcTimeMeasure(data); + case 1212: return new ::Ifc4x3_rc4::IfcTimePeriod(data); + case 1213: return new ::Ifc4x3_rc4::IfcTimeSeries(data); + case 1214: return new ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum(data); + case 1215: return new ::Ifc4x3_rc4::IfcTimeSeriesValue(data); + case 1216: return new ::Ifc4x3_rc4::IfcTimeStamp(data); + case 1217: return new ::Ifc4x3_rc4::IfcTopologicalRepresentationItem(data); + case 1218: return new ::Ifc4x3_rc4::IfcTopologyRepresentation(data); + case 1219: return new ::Ifc4x3_rc4::IfcToroidalSurface(data); + case 1220: return new ::Ifc4x3_rc4::IfcTorqueMeasure(data); + case 1221: return new ::Ifc4x3_rc4::IfcTrackElement(data); + case 1222: return new ::Ifc4x3_rc4::IfcTrackElementType(data); + case 1223: return new ::Ifc4x3_rc4::IfcTrackElementTypeEnum(data); + case 1224: return new ::Ifc4x3_rc4::IfcTransformer(data); + case 1225: return new ::Ifc4x3_rc4::IfcTransformerType(data); + case 1226: return new ::Ifc4x3_rc4::IfcTransformerTypeEnum(data); + case 1227: return new ::Ifc4x3_rc4::IfcTransitionCode(data); + case 1229: return new ::Ifc4x3_rc4::IfcTransportElement(data); + case 1230: return new ::Ifc4x3_rc4::IfcTransportElementFixedTypeEnum(data); + case 1231: return new ::Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum(data); + case 1232: return new ::Ifc4x3_rc4::IfcTransportElementType(data); + case 1234: return new ::Ifc4x3_rc4::IfcTrapeziumProfileDef(data); + case 1235: return new ::Ifc4x3_rc4::IfcTriangulatedFaceSet(data); + case 1236: return new ::Ifc4x3_rc4::IfcTriangulatedIrregularNetwork(data); + case 1237: return new ::Ifc4x3_rc4::IfcTrimmedCurve(data); + case 1238: return new ::Ifc4x3_rc4::IfcTrimmingPreference(data); + case 1240: return new ::Ifc4x3_rc4::IfcTShapeProfileDef(data); + case 1241: return new ::Ifc4x3_rc4::IfcTubeBundle(data); + case 1242: return new ::Ifc4x3_rc4::IfcTubeBundleType(data); + case 1243: return new ::Ifc4x3_rc4::IfcTubeBundleTypeEnum(data); + case 1244: return new ::Ifc4x3_rc4::IfcTypeObject(data); + case 1245: return new ::Ifc4x3_rc4::IfcTypeProcess(data); + case 1246: return new ::Ifc4x3_rc4::IfcTypeProduct(data); + case 1247: return new ::Ifc4x3_rc4::IfcTypeResource(data); + case 1249: return new ::Ifc4x3_rc4::IfcUnitaryControlElement(data); + case 1250: return new ::Ifc4x3_rc4::IfcUnitaryControlElementType(data); + case 1251: return new ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum(data); + case 1252: return new ::Ifc4x3_rc4::IfcUnitaryEquipment(data); + case 1253: return new ::Ifc4x3_rc4::IfcUnitaryEquipmentType(data); + case 1254: return new ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum(data); + case 1255: return new ::Ifc4x3_rc4::IfcUnitAssignment(data); + case 1256: return new ::Ifc4x3_rc4::IfcUnitEnum(data); + case 1257: return new ::Ifc4x3_rc4::IfcURIReference(data); + case 1258: return new ::Ifc4x3_rc4::IfcUShapeProfileDef(data); + case 1260: return new ::Ifc4x3_rc4::IfcValve(data); + case 1261: return new ::Ifc4x3_rc4::IfcValveType(data); + case 1262: return new ::Ifc4x3_rc4::IfcValveTypeEnum(data); + case 1263: return new ::Ifc4x3_rc4::IfcVaporPermeabilityMeasure(data); + case 1264: return new ::Ifc4x3_rc4::IfcVector(data); + case 1266: return new ::Ifc4x3_rc4::IfcVertex(data); + case 1267: return new ::Ifc4x3_rc4::IfcVertexLoop(data); + case 1268: return new ::Ifc4x3_rc4::IfcVertexPoint(data); + case 1269: return new ::Ifc4x3_rc4::IfcVibrationDamper(data); + case 1270: return new ::Ifc4x3_rc4::IfcVibrationDamperType(data); + case 1271: return new ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum(data); + case 1272: return new ::Ifc4x3_rc4::IfcVibrationIsolator(data); + case 1273: return new ::Ifc4x3_rc4::IfcVibrationIsolatorType(data); + case 1274: return new ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum(data); + case 1275: return new ::Ifc4x3_rc4::IfcVirtualElement(data); + case 1276: return new ::Ifc4x3_rc4::IfcVirtualGridIntersection(data); + case 1277: return new ::Ifc4x3_rc4::IfcVoidingFeature(data); + case 1278: return new ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum(data); + case 1279: return new ::Ifc4x3_rc4::IfcVoidStratum(data); + case 1280: return new ::Ifc4x3_rc4::IfcVolumeMeasure(data); + case 1281: return new ::Ifc4x3_rc4::IfcVolumetricFlowRateMeasure(data); + case 1282: return new ::Ifc4x3_rc4::IfcWall(data); + case 1283: return new ::Ifc4x3_rc4::IfcWallElementedCase(data); + case 1284: return new ::Ifc4x3_rc4::IfcWallStandardCase(data); + case 1285: return new ::Ifc4x3_rc4::IfcWallType(data); + case 1286: return new ::Ifc4x3_rc4::IfcWallTypeEnum(data); + case 1287: return new ::Ifc4x3_rc4::IfcWarpingConstantMeasure(data); + case 1288: return new ::Ifc4x3_rc4::IfcWarpingMomentMeasure(data); + case 1290: return new ::Ifc4x3_rc4::IfcWasteTerminal(data); + case 1291: return new ::Ifc4x3_rc4::IfcWasteTerminalType(data); + case 1292: return new ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum(data); + case 1293: return new ::Ifc4x3_rc4::IfcWaterStratum(data); + case 1294: return new ::Ifc4x3_rc4::IfcWindow(data); + case 1295: return new ::Ifc4x3_rc4::IfcWindowLiningProperties(data); + case 1296: return new ::Ifc4x3_rc4::IfcWindowPanelOperationEnum(data); + case 1297: return new ::Ifc4x3_rc4::IfcWindowPanelPositionEnum(data); + case 1298: return new ::Ifc4x3_rc4::IfcWindowPanelProperties(data); + case 1299: return new ::Ifc4x3_rc4::IfcWindowStandardCase(data); + case 1300: return new ::Ifc4x3_rc4::IfcWindowStyle(data); + case 1301: return new ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum(data); + case 1302: return new ::Ifc4x3_rc4::IfcWindowStyleOperationEnum(data); + case 1303: return new ::Ifc4x3_rc4::IfcWindowType(data); + case 1304: return new ::Ifc4x3_rc4::IfcWindowTypeEnum(data); + case 1305: return new ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum(data); + case 1306: return new ::Ifc4x3_rc4::IfcWorkCalendar(data); + case 1307: return new ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum(data); + case 1308: return new ::Ifc4x3_rc4::IfcWorkControl(data); + case 1309: return new ::Ifc4x3_rc4::IfcWorkPlan(data); + case 1310: return new ::Ifc4x3_rc4::IfcWorkPlanTypeEnum(data); + case 1311: return new ::Ifc4x3_rc4::IfcWorkSchedule(data); + case 1312: return new ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum(data); + case 1313: return new ::Ifc4x3_rc4::IfcWorkTime(data); + case 1314: return new ::Ifc4x3_rc4::IfcZone(data); + case 1315: return new ::Ifc4x3_rc4::IfcZShapeProfileDef(data); default: throw IfcParse::IfcException(data->type()->name() + " cannot be instantiated"); } @@ -2728,13 +2751,12 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcAlignmentCantSegmentTypeEnum_type = new enumeration_type("IfcAlignmentCantSegmentTypeEnum", 32, items); } { - std::vector items; items.reserve(10); + std::vector items; items.reserve(9); items.push_back("BLOSSCURVE"); items.push_back("CIRCULARARC"); items.push_back("CLOTHOID"); items.push_back("COSINECURVE"); items.push_back("CUBIC"); - items.push_back("CUBICSPIRAL"); items.push_back("HELMERTCURVE"); items.push_back("LINE"); items.push_back("SINECURVE"); @@ -2809,16 +2831,17 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcAssemblyPlaceEnum_type = new enumeration_type("IfcAssemblyPlaceEnum", 61, items); } { - std::vector items; items.reserve(14); + std::vector items; items.reserve(15); items.push_back("AMPLIFIER"); items.push_back("CAMERA"); + items.push_back("COMMUNICATIONTERMINAL"); items.push_back("DISPLAY"); items.push_back("MICROPHONE"); items.push_back("NOTDEFINED"); items.push_back("PLAYER"); items.push_back("PROJECTOR"); - items.push_back("RAILWAY_COMMUNICATION_TERMINAL"); items.push_back("RECEIVER"); + items.push_back("RECORDINGEQUIPMENT"); items.push_back("SPEAKER"); items.push_back("SWITCHER"); items.push_back("TELEPHONE"); @@ -3122,21 +3145,24 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", 186, items); } { - std::vector items; items.reserve(23); + std::vector items; items.reserve(26); items.push_back("ANTENNA"); items.push_back("AUTOMATON"); items.push_back("COMPUTER"); items.push_back("FAX"); items.push_back("GATEWAY"); - items.push_back("INTELLIGENT_PERIPHERAL"); - items.push_back("IP_NETWORK_EQUIPMENT"); + items.push_back("INTELLIGENTPERIPHERAL"); + items.push_back("IPNETWORKEQUIPMENT"); + items.push_back("LINESIDEELECTRONICUNIT"); items.push_back("MODEM"); items.push_back("NETWORKAPPLIANCE"); items.push_back("NETWORKBRIDGE"); items.push_back("NETWORKHUB"); items.push_back("NOTDEFINED"); - items.push_back("OPTICAL_NETWORK_UNIT"); + items.push_back("OPTICALLINETERMINAL"); + items.push_back("OPTICALNETWORKUNIT"); items.push_back("PRINTER"); + items.push_back("RADIOBLOCKCENTER"); items.push_back("REPEATER"); items.push_back("ROUTER"); items.push_back("SCANNER"); @@ -3473,18 +3499,19 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SOUNDABSORPTION"); items.push_back("TENSIONINGEQUIPMENT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDiscreteAccessoryTypeEnum_type = new enumeration_type("IfcDiscreteAccessoryTypeEnum", 314, items); + IFC4X3_RC4_IfcDiscreteAccessoryTypeEnum_type = new enumeration_type("IfcDiscreteAccessoryTypeEnum", 313, items); } { - std::vector items; items.reserve(7); + std::vector items; items.reserve(8); items.push_back("CONSUMERUNIT"); + items.push_back("DISPATCHINGBOARD"); items.push_back("DISTRIBUTIONBOARD"); items.push_back("DISTRIBUTIONFRAME"); items.push_back("MOTORCONTROLCENTRE"); items.push_back("NOTDEFINED"); items.push_back("SWITCHBOARD"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDistributionBoardTypeEnum_type = new enumeration_type("IfcDistributionBoardTypeEnum", 317, items); + IFC4X3_RC4_IfcDistributionBoardTypeEnum_type = new enumeration_type("IfcDistributionBoardTypeEnum", 316, items); } { std::vector items; items.reserve(10); @@ -3498,7 +3525,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRENCH"); items.push_back("USERDEFINED"); items.push_back("VALVECHAMBER"); - IFC4X3_RC4_IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", 320, items); + IFC4X3_RC4_IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", 319, items); } { std::vector items; items.reserve(7); @@ -3509,10 +3536,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PIPE"); items.push_back("USERDEFINED"); items.push_back("WIRELESS"); - IFC4X3_RC4_IfcDistributionPortTypeEnum_type = new enumeration_type("IfcDistributionPortTypeEnum", 329, items); + IFC4X3_RC4_IfcDistributionPortTypeEnum_type = new enumeration_type("IfcDistributionPortTypeEnum", 328, items); } { - std::vector items; items.reserve(47); + std::vector items; items.reserve(51); items.push_back("AIRCONDITIONING"); items.push_back("AUDIOVISUAL"); items.push_back("CATENARY_SYSTEM"); @@ -3533,16 +3560,20 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("ELECTROACOUSTIC"); items.push_back("EXHAUST"); items.push_back("FIREPROTECTION"); + items.push_back("FIXEDTRANSMISSIONNETWORK"); items.push_back("FUEL"); items.push_back("GAS"); items.push_back("HAZARDOUS"); items.push_back("HEATING"); items.push_back("LIGHTING"); items.push_back("LIGHTNINGPROTECTION"); + items.push_back("MOBILENETWORK"); + items.push_back("MONITORINGSYSTEM"); items.push_back("MUNICIPALSOLIDWASTE"); items.push_back("NOTDEFINED"); items.push_back("OIL"); items.push_back("OPERATIONAL"); + items.push_back("OPERATIONALTELEPHONYSYSTEM"); items.push_back("OVERHEAD_CONTACTLINE_SYSTEM"); items.push_back("POWERGENERATION"); items.push_back("RAINWATER"); @@ -3560,7 +3591,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("VENTILATION"); items.push_back("WASTEWATER"); items.push_back("WATERSUPPLY"); - IFC4X3_RC4_IfcDistributionSystemEnum_type = new enumeration_type("IfcDistributionSystemEnum", 331, items); + IFC4X3_RC4_IfcDistributionSystemEnum_type = new enumeration_type("IfcDistributionSystemEnum", 330, items); } { std::vector items; items.reserve(6); @@ -3570,7 +3601,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PUBLIC"); items.push_back("RESTRICTED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", 332, items); + IFC4X3_RC4_IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", 331, items); } { std::vector items; items.reserve(5); @@ -3579,7 +3610,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("FINALDRAFT"); items.push_back("NOTDEFINED"); items.push_back("REVISION"); - IFC4X3_RC4_IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", 337, items); + IFC4X3_RC4_IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", 336, items); } { std::vector items; items.reserve(9); @@ -3592,7 +3623,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SLIDING"); items.push_back("SWINGING"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", 340, items); + IFC4X3_RC4_IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", 339, items); } { std::vector items; items.reserve(4); @@ -3600,7 +3631,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("MIDDLE"); items.push_back("NOTDEFINED"); items.push_back("RIGHT"); - IFC4X3_RC4_IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", 341, items); + IFC4X3_RC4_IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", 340, items); } { std::vector items; items.reserve(9); @@ -3613,7 +3644,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STEEL"); items.push_back("USERDEFINED"); items.push_back("WOOD"); - IFC4X3_RC4_IfcDoorStyleConstructionEnum_type = new enumeration_type("IfcDoorStyleConstructionEnum", 345, items); + IFC4X3_RC4_IfcDoorStyleConstructionEnum_type = new enumeration_type("IfcDoorStyleConstructionEnum", 344, items); } { std::vector items; items.reserve(18); @@ -3635,7 +3666,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SLIDING_TO_LEFT"); items.push_back("SLIDING_TO_RIGHT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", 346, items); + IFC4X3_RC4_IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", 345, items); } { std::vector items; items.reserve(7); @@ -3646,7 +3677,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRAPDOOR"); items.push_back("TURNSTILE"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDoorTypeEnum_type = new enumeration_type("IfcDoorTypeEnum", 348, items); + IFC4X3_RC4_IfcDoorTypeEnum_type = new enumeration_type("IfcDoorTypeEnum", 347, items); } { std::vector items; items.reserve(25); @@ -3675,9 +3706,9 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SWING_FIXED_LEFT"); items.push_back("SWING_FIXED_RIGHT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 349, items); + IFC4X3_RC4_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 348, items); } - IFC4X3_RC4_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 350, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 349, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("BEND"); @@ -3689,7 +3720,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("OBSTRUCTION"); items.push_back("TRANSITION"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", 355, items); + IFC4X3_RC4_IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", 354, items); } { std::vector items; items.reserve(4); @@ -3697,7 +3728,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("RIGIDSEGMENT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", 358, items); + IFC4X3_RC4_IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", 357, items); } { std::vector items; items.reserve(5); @@ -3706,10 +3737,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RECTANGULAR"); items.push_back("ROUND"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 361, items); + IFC4X3_RC4_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 360, items); } - IFC4X3_RC4_IfcDuration_type = new type_declaration("IfcDuration", 362, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 363, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcDuration_type = new type_declaration("IfcDuration", 361, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 362, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(11); items.push_back("BASE_EXCAVATION"); @@ -3723,7 +3754,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TOPSOILREMOVAL"); items.push_back("TRENCH"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcEarthworksCutTypeEnum_type = new enumeration_type("IfcEarthworksCutTypeEnum", 365, items); + IFC4X3_RC4_IfcEarthworksCutTypeEnum_type = new enumeration_type("IfcEarthworksCutTypeEnum", 364, items); } { std::vector items; items.reserve(9); @@ -3736,7 +3767,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SUBGRADEBED"); items.push_back("TRANSITIONSECTION"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcEarthworksFillTypeEnum_type = new enumeration_type("IfcEarthworksFillTypeEnum", 368, items); + IFC4X3_RC4_IfcEarthworksFillTypeEnum_type = new enumeration_type("IfcEarthworksFillTypeEnum", 367, items); } { std::vector items; items.reserve(18); @@ -3758,12 +3789,12 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("USERDEFINED"); items.push_back("VENDINGMACHINE"); items.push_back("WASHINGMACHINE"); - IFC4X3_RC4_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 374, items); + IFC4X3_RC4_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 373, items); } - IFC4X3_RC4_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 375, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 376, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 377, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 378, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 374, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 375, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 376, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 377, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(6); items.push_back("CONSUMERUNIT"); @@ -3772,7 +3803,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("SWITCHBOARD"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcElectricDistributionBoardTypeEnum_type = new enumeration_type("IfcElectricDistributionBoardTypeEnum", 381, items); + IFC4X3_RC4_IfcElectricDistributionBoardTypeEnum_type = new enumeration_type("IfcElectricDistributionBoardTypeEnum", 380, items); } { std::vector items; items.reserve(11); @@ -3787,14 +3818,14 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RECHARGER"); items.push_back("UPS"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", 384, items); + IFC4X3_RC4_IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", 383, items); } { std::vector items; items.reserve(3); items.push_back("ELECTRONICFILTER"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcElectricFlowTreatmentDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowTreatmentDeviceTypeEnum", 387, items); + IFC4X3_RC4_IfcElectricFlowTreatmentDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowTreatmentDeviceTypeEnum", 386, items); } { std::vector items; items.reserve(5); @@ -3803,7 +3834,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("STANDALONE"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", 390, items); + IFC4X3_RC4_IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", 389, items); } { std::vector items; items.reserve(7); @@ -3814,9 +3845,9 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RELUCTANCESYNCHRONOUS"); items.push_back("SYNCHRONOUS"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 393, items); + IFC4X3_RC4_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 392, items); } - IFC4X3_RC4_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 394, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 393, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("NOTDEFINED"); @@ -3824,9 +3855,9 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TIMECLOCK"); items.push_back("TIMEDELAY"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 397, items); + IFC4X3_RC4_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 396, items); } - IFC4X3_RC4_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 398, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 397, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(30); items.push_back("ABUTMENT"); @@ -3859,23 +3890,23 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRUSS"); items.push_back("TURNOUTPANEL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", 403, items); + IFC4X3_RC4_IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", 402, items); } { std::vector items; items.reserve(3); items.push_back("COMPLEX"); items.push_back("ELEMENT"); items.push_back("PARTIAL"); - IFC4X3_RC4_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 406, items); + IFC4X3_RC4_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 405, items); } - IFC4X3_RC4_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 413, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 412, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("EXTERNALCOMBUSTION"); items.push_back("INTERNALCOMBUSTION"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcEngineTypeEnum_type = new enumeration_type("IfcEngineTypeEnum", 416, items); + IFC4X3_RC4_IfcEngineTypeEnum_type = new enumeration_type("IfcEngineTypeEnum", 415, items); } { std::vector items; items.reserve(11); @@ -3890,7 +3921,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("INDIRECTEVAPORATIVEWETCOIL"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", 419, items); + IFC4X3_RC4_IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", 418, items); } { std::vector items; items.reserve(8); @@ -3902,7 +3933,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("SHELLANDCOIL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", 422, items); + IFC4X3_RC4_IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", 421, items); } { std::vector items; items.reserve(6); @@ -3912,7 +3943,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("EVENTTIME"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcEventTriggerTypeEnum_type = new enumeration_type("IfcEventTriggerTypeEnum", 425, items); + IFC4X3_RC4_IfcEventTriggerTypeEnum_type = new enumeration_type("IfcEventTriggerTypeEnum", 424, items); } { std::vector items; items.reserve(5); @@ -3921,7 +3952,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("STARTEVENT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcEventTypeEnum_type = new enumeration_type("IfcEventTypeEnum", 427, items); + IFC4X3_RC4_IfcEventTypeEnum_type = new enumeration_type("IfcEventTypeEnum", 426, items); } { std::vector items; items.reserve(6); @@ -3931,7 +3962,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("EXTERNAL_WATER"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcExternalSpatialElementTypeEnum_type = new enumeration_type("IfcExternalSpatialElementTypeEnum", 436, items); + IFC4X3_RC4_IfcExternalSpatialElementTypeEnum_type = new enumeration_type("IfcExternalSpatialElementTypeEnum", 435, items); } { std::vector items; items.reserve(10); @@ -3945,7 +3976,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SUPERSTRUCTURE"); items.push_back("TERMINAL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcFacilityPartCommonTypeEnum_type = new enumeration_type("IfcFacilityPartCommonTypeEnum", 449, items); + IFC4X3_RC4_IfcFacilityPartCommonTypeEnum_type = new enumeration_type("IfcFacilityPartCommonTypeEnum", 448, items); } { std::vector items; items.reserve(6); @@ -3955,7 +3986,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("REGION"); items.push_back("USERDEFINED"); items.push_back("VERTICAL"); - IFC4X3_RC4_IfcFacilityUsageEnum_type = new enumeration_type("IfcFacilityUsageEnum", 451, items); + IFC4X3_RC4_IfcFacilityUsageEnum_type = new enumeration_type("IfcFacilityUsageEnum", 450, items); } { std::vector items; items.reserve(9); @@ -3968,7 +3999,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TUBEAXIAL"); items.push_back("USERDEFINED"); items.push_back("VANEAXIAL"); - IFC4X3_RC4_IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", 455, items); + IFC4X3_RC4_IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", 454, items); } { std::vector items; items.reserve(5); @@ -3977,7 +4008,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); items.push_back("WELD"); - IFC4X3_RC4_IfcFastenerTypeEnum_type = new enumeration_type("IfcFastenerTypeEnum", 458, items); + IFC4X3_RC4_IfcFastenerTypeEnum_type = new enumeration_type("IfcFastenerTypeEnum", 457, items); } { std::vector items; items.reserve(8); @@ -3989,7 +4020,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STRAINER"); items.push_back("USERDEFINED"); items.push_back("WATERFILTER"); - IFC4X3_RC4_IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", 468, items); + IFC4X3_RC4_IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", 467, items); } { std::vector items; items.reserve(8); @@ -4001,7 +4032,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SPRINKLER"); items.push_back("SPRINKLERDEFLECTOR"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", 471, items); + IFC4X3_RC4_IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", 470, items); } { std::vector items; items.reserve(4); @@ -4009,7 +4040,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SINK"); items.push_back("SOURCE"); items.push_back("SOURCEANDSINK"); - IFC4X3_RC4_IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", 475, items); + IFC4X3_RC4_IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", 474, items); } { std::vector items; items.reserve(12); @@ -4025,7 +4056,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("VOLTMETER"); items.push_back("VOLTMETER_PEAK"); items.push_back("VOLTMETER_RMS"); - IFC4X3_RC4_IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", 480, items); + IFC4X3_RC4_IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", 479, items); } { std::vector items; items.reserve(6); @@ -4035,11 +4066,11 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("OILMETER"); items.push_back("USERDEFINED"); items.push_back("WATERMETER"); - IFC4X3_RC4_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 483, items); + IFC4X3_RC4_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 482, items); } - IFC4X3_RC4_IfcFontStyle_type = new type_declaration("IfcFontStyle", 494, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcFontVariant_type = new type_declaration("IfcFontVariant", 495, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcFontWeight_type = new type_declaration("IfcFontWeight", 496, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcFontStyle_type = new type_declaration("IfcFontStyle", 493, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcFontVariant_type = new type_declaration("IfcFontVariant", 494, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcFontWeight_type = new type_declaration("IfcFontWeight", 495, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(7); items.push_back("CAISSON_FOUNDATION"); @@ -4049,10 +4080,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PILE_CAP"); items.push_back("STRIP_FOOTING"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 499, items); + IFC4X3_RC4_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 498, items); } - IFC4X3_RC4_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 500, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 501, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 499, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 500, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(10); items.push_back("BED"); @@ -4065,7 +4096,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TABLE"); items.push_back("TECHNICALCABINET"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcFurnitureTypeEnum_type = new enumeration_type("IfcFurnitureTypeEnum", 506, items); + IFC4X3_RC4_IfcFurnitureTypeEnum_type = new enumeration_type("IfcFurnitureTypeEnum", 505, items); } { std::vector items; items.reserve(4); @@ -4073,7 +4104,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SOIL_BORING_POINT"); items.push_back("TERRAIN"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcGeographicElementTypeEnum_type = new enumeration_type("IfcGeographicElementTypeEnum", 509, items); + IFC4X3_RC4_IfcGeographicElementTypeEnum_type = new enumeration_type("IfcGeographicElementTypeEnum", 508, items); } { std::vector items; items.reserve(9); @@ -4086,15 +4117,15 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SECTION_VIEW"); items.push_back("SKETCH_VIEW"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", 511, items); + IFC4X3_RC4_IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", 510, items); } { std::vector items; items.reserve(2); items.push_back("GLOBAL_COORDS"); items.push_back("LOCAL_COORDS"); - IFC4X3_RC4_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 523, items); + IFC4X3_RC4_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 522, items); } - IFC4X3_RC4_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 522, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 521, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(6); items.push_back("IRREGULAR"); @@ -4103,7 +4134,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RECTANGULAR"); items.push_back("TRIANGULAR"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcGridTypeEnum_type = new enumeration_type("IfcGridTypeEnum", 529, items); + IFC4X3_RC4_IfcGridTypeEnum_type = new enumeration_type("IfcGridTypeEnum", 528, items); } { std::vector items; items.reserve(5); @@ -4112,10 +4143,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SHELLANDTUBE"); items.push_back("TURNOUTHEATING"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 535, items); + IFC4X3_RC4_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 534, items); } - IFC4X3_RC4_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 536, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 537, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 535, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 536, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(15); items.push_back("ADIABATICAIRWASHER"); @@ -4133,10 +4164,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("STEAMINJECTION"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 540, items); + IFC4X3_RC4_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 539, items); } - IFC4X3_RC4_IfcIdentifier_type = new type_declaration("IfcIdentifier", 541, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 542, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcIdentifier_type = new type_declaration("IfcIdentifier", 540, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 541, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(6); items.push_back("BUMPER"); @@ -4145,11 +4176,11 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("FENDER"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcImpactProtectionDeviceTypeEnum_type = new enumeration_type("IfcImpactProtectionDeviceTypeEnum", 546, items); + IFC4X3_RC4_IfcImpactProtectionDeviceTypeEnum_type = new enumeration_type("IfcImpactProtectionDeviceTypeEnum", 545, items); } - IFC4X3_RC4_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 555, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcInteger_type = new type_declaration("IfcInteger", 556, new simple_type(simple_type::integer_type)); - IFC4X3_RC4_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 557, new simple_type(simple_type::integer_type)); + IFC4X3_RC4_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 553, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcInteger_type = new type_declaration("IfcInteger", 554, new simple_type(simple_type::integer_type)); + IFC4X3_RC4_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 555, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(6); items.push_back("CYCLONIC"); @@ -4158,7 +4189,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("OIL"); items.push_back("PETROL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcInterceptorTypeEnum_type = new enumeration_type("IfcInterceptorTypeEnum", 560, items); + IFC4X3_RC4_IfcInterceptorTypeEnum_type = new enumeration_type("IfcInterceptorTypeEnum", 558, items); } { std::vector items; items.reserve(6); @@ -4168,7 +4199,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("EXTERNAL_WATER"); items.push_back("INTERNAL"); items.push_back("NOTDEFINED"); - IFC4X3_RC4_IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", 562, items); + IFC4X3_RC4_IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", 560, items); } { std::vector items; items.reserve(5); @@ -4177,28 +4208,28 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("SPACEINVENTORY"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 565, items); + IFC4X3_RC4_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 563, items); } - IFC4X3_RC4_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 566, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 570, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 564, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 568, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("DATA"); items.push_back("NOTDEFINED"); items.push_back("POWER"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 573, items); + IFC4X3_RC4_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 571, items); } - IFC4X3_RC4_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 576, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 574, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("PIECEWISE_BEZIER_KNOTS"); items.push_back("QUASI_UNIFORM_KNOTS"); items.push_back("UNIFORM_KNOTS"); items.push_back("UNSPECIFIED"); - IFC4X3_RC4_IfcKnotType_type = new enumeration_type("IfcKnotType", 577, items); + IFC4X3_RC4_IfcKnotType_type = new enumeration_type("IfcKnotType", 575, items); } - IFC4X3_RC4_IfcLabel_type = new type_declaration("IfcLabel", 578, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcLabel_type = new type_declaration("IfcLabel", 576, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(21); items.push_back("ADMINISTRATION"); @@ -4222,7 +4253,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STEELWORK"); items.push_back("SURVEYING"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcLaborResourceTypeEnum_type = new enumeration_type("IfcLaborResourceTypeEnum", 581, items); + IFC4X3_RC4_IfcLaborResourceTypeEnum_type = new enumeration_type("IfcLaborResourceTypeEnum", 579, items); } { std::vector items; items.reserve(11); @@ -4237,24 +4268,24 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("OLED"); items.push_back("TUNGSTENFILAMENT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 585, items); + IFC4X3_RC4_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 583, items); } - IFC4X3_RC4_IfcLanguageId_type = new type_declaration("IfcLanguageId", 586, new named_type(IFC4X3_RC4_IfcIdentifier_type)); + IFC4X3_RC4_IfcLanguageId_type = new type_declaration("IfcLanguageId", 584, new named_type(IFC4X3_RC4_IfcIdentifier_type)); { std::vector items; items.reserve(3); items.push_back("AXIS1"); items.push_back("AXIS2"); items.push_back("AXIS3"); - IFC4X3_RC4_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 588, items); + IFC4X3_RC4_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 586, items); } - IFC4X3_RC4_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 589, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 587, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("TYPE_A"); items.push_back("TYPE_B"); items.push_back("TYPE_C"); - IFC4X3_RC4_IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", 593, items); + IFC4X3_RC4_IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", 591, items); } { std::vector items; items.reserve(11); @@ -4269,7 +4300,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("METALHALIDE"); items.push_back("NOTDEFINED"); items.push_back("TUNGSTENFILAMENT"); - IFC4X3_RC4_IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", 596, items); + IFC4X3_RC4_IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", 594, items); } { std::vector items; items.reserve(5); @@ -4278,19 +4309,19 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("POINTSOURCE"); items.push_back("SECURITYLIGHTING"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 599, items); + IFC4X3_RC4_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 597, items); } - IFC4X3_RC4_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 609, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 610, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 613, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 614, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 607, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 608, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 611, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 612, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("HOSEREEL"); items.push_back("LOADINGARM"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcLiquidTerminalTypeEnum_type = new enumeration_type("IfcLiquidTerminalTypeEnum", 618, items); + IFC4X3_RC4_IfcLiquidTerminalTypeEnum_type = new enumeration_type("IfcLiquidTerminalTypeEnum", 616, items); } { std::vector items; items.reserve(5); @@ -4299,9 +4330,9 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("LOAD_GROUP"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 619, items); + IFC4X3_RC4_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 617, items); } - IFC4X3_RC4_IfcLogical_type = new type_declaration("IfcLogical", 621, new simple_type(simple_type::logical_type)); + IFC4X3_RC4_IfcLogical_type = new type_declaration("IfcLogical", 619, new simple_type(simple_type::logical_type)); { std::vector items; items.reserve(5); items.push_back("LOGICALAND"); @@ -4309,13 +4340,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("LOGICALNOTOR"); items.push_back("LOGICALOR"); items.push_back("LOGICALXOR"); - IFC4X3_RC4_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 622, items); + IFC4X3_RC4_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 620, items); } - IFC4X3_RC4_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 625, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 626, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 627, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 628, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 629, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 623, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 624, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 625, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 626, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 627, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(21); items.push_back("BARRIERBEACH"); @@ -4339,7 +4370,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("USERDEFINED"); items.push_back("WATERWAY"); items.push_back("WATERWAYSHIPLIFT"); - IFC4X3_RC4_IfcMarineFacilityTypeEnum_type = new enumeration_type("IfcMarineFacilityTypeEnum", 634, items); + IFC4X3_RC4_IfcMarineFacilityTypeEnum_type = new enumeration_type("IfcMarineFacilityTypeEnum", 632, items); } { std::vector items; items.reserve(26); @@ -4369,12 +4400,12 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("VEHICLESERVICING"); items.push_back("WATERFIELD"); items.push_back("WEATHERSIDE"); - IFC4X3_RC4_IfcMarinePartTypeEnum_type = new enumeration_type("IfcMarinePartTypeEnum", 635, items); + IFC4X3_RC4_IfcMarinePartTypeEnum_type = new enumeration_type("IfcMarinePartTypeEnum", 633, items); } - IFC4X3_RC4_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 636, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 637, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 638, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 639, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 634, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 635, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 636, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 637, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(17); items.push_back("ANCHORBOLT"); @@ -4394,7 +4425,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STAPLE"); items.push_back("STUDSHEARCONNECTOR"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcMechanicalFastenerTypeEnum_type = new enumeration_type("IfcMechanicalFastenerTypeEnum", 664, items); + IFC4X3_RC4_IfcMechanicalFastenerTypeEnum_type = new enumeration_type("IfcMechanicalFastenerTypeEnum", 662, items); } { std::vector items; items.reserve(7); @@ -4405,7 +4436,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("OXYGENPLANT"); items.push_back("USERDEFINED"); items.push_back("VACUUMSTATION"); - IFC4X3_RC4_IfcMedicalDeviceTypeEnum_type = new enumeration_type("IfcMedicalDeviceTypeEnum", 667, items); + IFC4X3_RC4_IfcMedicalDeviceTypeEnum_type = new enumeration_type("IfcMedicalDeviceTypeEnum", 665, items); } { std::vector items; items.reserve(21); @@ -4430,48 +4461,54 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SUSPENSION_CABLE"); items.push_back("TIEBAR"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 671, items); + IFC4X3_RC4_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 669, items); } { - std::vector items; items.reserve(9); + std::vector items; items.reserve(15); items.push_back("ACCESSPOINT"); items.push_back("BASEBANDUNIT"); items.push_back("BASETRANSCEIVERSTATION"); items.push_back("E_UTRAN_NODE_B"); + items.push_back("GATEWAY_GPRS_SUPPORT_NODE"); items.push_back("MASTERUNIT"); + items.push_back("MOBILESWITCHINGCENTER"); + items.push_back("MSCSERVER"); items.push_back("NOTDEFINED"); + items.push_back("PACKETCONTROLUNIT"); + items.push_back("REMOTERADIOUNIT"); items.push_back("REMOTEUNIT"); - items.push_back("REMOTE_RADIO_UNIT"); + items.push_back("SERVICE_GPRS_SUPPORT_NODE"); + items.push_back("SUBSCRIBERSERVER"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcMobileTelecommunicationsApplianceTypeEnum_type = new enumeration_type("IfcMobileTelecommunicationsApplianceTypeEnum", 677, items); + IFC4X3_RC4_IfcMobileTelecommunicationsApplianceTypeEnum_type = new enumeration_type("IfcMobileTelecommunicationsApplianceTypeEnum", 675, items); } - IFC4X3_RC4_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 678, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 679, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 680, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 676, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 677, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 678, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcBoolean_type); items.push_back(IFC4X3_RC4_IfcModulusOfRotationalSubgradeReactionMeasure_type); - IFC4X3_RC4_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 681, items); + IFC4X3_RC4_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 679, items); } - IFC4X3_RC4_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 682, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 680, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcBoolean_type); items.push_back(IFC4X3_RC4_IfcModulusOfSubgradeReactionMeasure_type); - IFC4X3_RC4_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 683, items); + IFC4X3_RC4_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 681, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcBoolean_type); items.push_back(IFC4X3_RC4_IfcModulusOfLinearSubgradeReactionMeasure_type); - IFC4X3_RC4_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 684, items); + IFC4X3_RC4_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 682, items); } - IFC4X3_RC4_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 685, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 686, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 687, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 688, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 690, new simple_type(simple_type::integer_type)); + IFC4X3_RC4_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 683, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 684, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 685, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 686, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 688, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(7); items.push_back("BOLLARD"); @@ -4481,7 +4518,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); items.push_back("VACUUMDEVICE"); - IFC4X3_RC4_IfcMooringDeviceTypeEnum_type = new enumeration_type("IfcMooringDeviceTypeEnum", 693, items); + IFC4X3_RC4_IfcMooringDeviceTypeEnum_type = new enumeration_type("IfcMooringDeviceTypeEnum", 691, items); } { std::vector items; items.reserve(5); @@ -4490,7 +4527,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("DIRECTDRIVE"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 696, items); + IFC4X3_RC4_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 694, items); } { std::vector items; items.reserve(4); @@ -4498,10 +4535,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("BUOY"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcNavigationElementTypeEnum_type = new enumeration_type("IfcNavigationElementTypeEnum", 700, items); + IFC4X3_RC4_IfcNavigationElementTypeEnum_type = new enumeration_type("IfcNavigationElementTypeEnum", 698, items); } - IFC4X3_RC4_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 701, new named_type(IFC4X3_RC4_IfcLengthMeasure_type)); - IFC4X3_RC4_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 703, new simple_type(simple_type::number_type)); + IFC4X3_RC4_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 699, new named_type(IFC4X3_RC4_IfcLengthMeasure_type)); + IFC4X3_RC4_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 701, new simple_type(simple_type::number_type)); { std::vector items; items.reserve(8); items.push_back("ACTOR"); @@ -4512,7 +4549,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PRODUCT"); items.push_back("PROJECT"); items.push_back("RESOURCE"); - IFC4X3_RC4_IfcObjectTypeEnum_type = new enumeration_type("IfcObjectTypeEnum", 710, items); + IFC4X3_RC4_IfcObjectTypeEnum_type = new enumeration_type("IfcObjectTypeEnum", 708, items); } { std::vector items; items.reserve(13); @@ -4529,7 +4566,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SPECIFICATION"); items.push_back("TRIGGERCONDITION"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", 707, items); + IFC4X3_RC4_IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", 705, items); } { std::vector items; items.reserve(9); @@ -4542,7 +4579,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("OWNER"); items.push_back("TENANT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", 712, items); + IFC4X3_RC4_IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", 710, items); } { std::vector items; items.reserve(4); @@ -4550,7 +4587,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("OPENING"); items.push_back("RECESS"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcOpeningElementTypeEnum_type = new enumeration_type("IfcOpeningElementTypeEnum", 719, items); + IFC4X3_RC4_IfcOpeningElementTypeEnum_type = new enumeration_type("IfcOpeningElementTypeEnum", 717, items); } { std::vector items; items.reserve(7); @@ -4561,23 +4598,23 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("POWEROUTLET"); items.push_back("TELEPHONEOUTLET"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 728, items); + IFC4X3_RC4_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 726, items); } - IFC4X3_RC4_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 745, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcParameterValue_type = new type_declaration("IfcParameterValue", 731, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 743, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcParameterValue_type = new type_declaration("IfcParameterValue", 729, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("FLEXIBLE"); items.push_back("NOTDEFINED"); items.push_back("RIGID"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcPavementTypeEnum_type = new enumeration_type("IfcPavementTypeEnum", 735, items); + IFC4X3_RC4_IfcPavementTypeEnum_type = new enumeration_type("IfcPavementTypeEnum", 733, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcPerformanceHistoryTypeEnum_type = new enumeration_type("IfcPerformanceHistoryTypeEnum", 738, items); + IFC4X3_RC4_IfcPerformanceHistoryTypeEnum_type = new enumeration_type("IfcPerformanceHistoryTypeEnum", 736, items); } { std::vector items; items.reserve(5); @@ -4586,7 +4623,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("SCREEN"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", 739, items); + IFC4X3_RC4_IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", 737, items); } { std::vector items; items.reserve(5); @@ -4595,14 +4632,14 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); items.push_back("WORK"); - IFC4X3_RC4_IfcPermitTypeEnum_type = new enumeration_type("IfcPermitTypeEnum", 742, items); + IFC4X3_RC4_IfcPermitTypeEnum_type = new enumeration_type("IfcPermitTypeEnum", 740, items); } { std::vector items; items.reserve(3); items.push_back("NOTDEFINED"); items.push_back("PHYSICAL"); items.push_back("VIRTUAL"); - IFC4X3_RC4_IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", 747, items); + IFC4X3_RC4_IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", 745, items); } { std::vector items; items.reserve(6); @@ -4612,7 +4649,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PRECAST_CONCRETE"); items.push_back("PREFAB_STEEL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", 751, items); + IFC4X3_RC4_IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", 749, items); } { std::vector items; items.reserve(8); @@ -4624,7 +4661,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("SUPPORT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", 753, items); + IFC4X3_RC4_IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", 751, items); } { std::vector items; items.reserve(9); @@ -4637,7 +4674,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("OBSTRUCTION"); items.push_back("TRANSITION"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", 756, items); + IFC4X3_RC4_IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", 754, items); } { std::vector items; items.reserve(7); @@ -4648,10 +4685,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RIGIDSEGMENT"); items.push_back("SPOOL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 759, items); + IFC4X3_RC4_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 757, items); } - IFC4X3_RC4_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 764, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 766, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 762, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 764, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(11); items.push_back("BASE_PLATE"); @@ -4665,21 +4702,21 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STIFFENER_PLATE"); items.push_back("USERDEFINED"); items.push_back("WEB_PLATE"); - IFC4X3_RC4_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 771, items); + IFC4X3_RC4_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 769, items); } - IFC4X3_RC4_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 784, new named_type(IFC4X3_RC4_IfcInteger_type)); - IFC4X3_RC4_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 785, new named_type(IFC4X3_RC4_IfcLengthMeasure_type)); - IFC4X3_RC4_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 786, new named_type(IFC4X3_RC4_IfcPlaneAngleMeasure_type)); - IFC4X3_RC4_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 789, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 782, new named_type(IFC4X3_RC4_IfcInteger_type)); + IFC4X3_RC4_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 783, new named_type(IFC4X3_RC4_IfcLengthMeasure_type)); + IFC4X3_RC4_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 784, new named_type(IFC4X3_RC4_IfcPlaneAngleMeasure_type)); + IFC4X3_RC4_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 787, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(3); items.push_back("CURVE3D"); items.push_back("PCURVE_S1"); items.push_back("PCURVE_S2"); - IFC4X3_RC4_IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type("IfcPreferredSurfaceCurveRepresentation", 796, items); + IFC4X3_RC4_IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type("IfcPreferredSurfaceCurveRepresentation", 794, items); } - IFC4X3_RC4_IfcPresentableText_type = new type_declaration("IfcPresentableText", 797, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 802, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcPresentableText_type = new type_declaration("IfcPresentableText", 795, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 800, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("ADVICE_CAUTION"); @@ -4691,13 +4728,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SHUTDOWN"); items.push_back("STARTUP"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", 805, items); + IFC4X3_RC4_IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", 803, items); } { std::vector items; items.reserve(2); items.push_back("AREA"); items.push_back("CURVE"); - IFC4X3_RC4_IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", 815, items); + IFC4X3_RC4_IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", 813, items); } { std::vector items; items.reserve(7); @@ -4708,13 +4745,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PURCHASEORDER"); items.push_back("USERDEFINED"); items.push_back("WORKORDER"); - IFC4X3_RC4_IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", 823, items); + IFC4X3_RC4_IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", 821, items); } { std::vector items; items.reserve(2); items.push_back("PROJECTED_LENGTH"); items.push_back("TRUE_LENGTH"); - IFC4X3_RC4_IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", 818, items); + IFC4X3_RC4_IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", 816, items); } { std::vector items; items.reserve(4); @@ -4722,7 +4759,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("DEVIATOR"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcProjectionElementTypeEnum_type = new enumeration_type("IfcProjectionElementTypeEnum", 820, items); + IFC4X3_RC4_IfcProjectionElementTypeEnum_type = new enumeration_type("IfcProjectionElementTypeEnum", 818, items); } { std::vector items; items.reserve(8); @@ -4734,7 +4771,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("QTO_OCCURRENCEDRIVEN"); items.push_back("QTO_TYPEDRIVENONLY"); items.push_back("QTO_TYPEDRIVENOVERRIDE"); - IFC4X3_RC4_IfcPropertySetTemplateTypeEnum_type = new enumeration_type("IfcPropertySetTemplateTypeEnum", 838, items); + IFC4X3_RC4_IfcPropertySetTemplateTypeEnum_type = new enumeration_type("IfcPropertySetTemplateTypeEnum", 836, items); } { std::vector items; items.reserve(6); @@ -4744,7 +4781,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RESIDUALCURRENT"); items.push_back("THERMAL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTrippingUnitTypeEnum", 846, items); + IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTrippingUnitTypeEnum", 844, items); } { std::vector items; items.reserve(12); @@ -4760,7 +4797,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("USERDEFINED"); items.push_back("VARISTOR"); items.push_back("VOLTAGELIMITER"); - IFC4X3_RC4_IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", 848, items); + IFC4X3_RC4_IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", 846, items); } { std::vector items; items.reserve(9); @@ -4773,9 +4810,9 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("USERDEFINED"); items.push_back("VERTICALINLINE"); items.push_back("VERTICALTURBINE"); - IFC4X3_RC4_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 852, items); + IFC4X3_RC4_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 850, items); } - IFC4X3_RC4_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 860, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 858, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(8); items.push_back("BLADE"); @@ -4786,7 +4823,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RAIL"); items.push_back("STOCKRAIL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRailTypeEnum_type = new enumeration_type("IfcRailTypeEnum", 866, items); + IFC4X3_RC4_IfcRailTypeEnum_type = new enumeration_type("IfcRailTypeEnum", 864, items); } { std::vector items; items.reserve(6); @@ -4796,7 +4833,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("HANDRAIL"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", 864, items); + IFC4X3_RC4_IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", 862, items); } { std::vector items; items.reserve(10); @@ -4810,13 +4847,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRACKSTRUCTUREPART"); items.push_back("TURNOUTSUPERSTRUCTURE"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRailwayPartTypeEnum_type = new enumeration_type("IfcRailwayPartTypeEnum", 868, items); + IFC4X3_RC4_IfcRailwayPartTypeEnum_type = new enumeration_type("IfcRailwayPartTypeEnum", 866, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRailwayTypeEnum_type = new enumeration_type("IfcRailwayTypeEnum", 869, items); + IFC4X3_RC4_IfcRailwayTypeEnum_type = new enumeration_type("IfcRailwayTypeEnum", 867, items); } { std::vector items; items.reserve(4); @@ -4824,7 +4861,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SPIRAL"); items.push_back("STRAIGHT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", 873, items); + IFC4X3_RC4_IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", 871, items); } { std::vector items; items.reserve(8); @@ -4836,10 +4873,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TWO_QUARTER_TURN_RAMP"); items.push_back("TWO_STRAIGHT_RUN_RAMP"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 875, items); + IFC4X3_RC4_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 873, items); } - IFC4X3_RC4_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 876, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcReal_type = new type_declaration("IfcReal", 879, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 874, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcReal_type = new type_declaration("IfcReal", 877, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(8); items.push_back("BY_DAY_COUNT"); @@ -4850,7 +4887,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("WEEKLY"); items.push_back("YEARLY_BY_DAY_OF_MONTH"); items.push_back("YEARLY_BY_POSITION"); - IFC4X3_RC4_IfcRecurrenceTypeEnum_type = new enumeration_type("IfcRecurrenceTypeEnum", 885, items); + IFC4X3_RC4_IfcRecurrenceTypeEnum_type = new enumeration_type("IfcRecurrenceTypeEnum", 883, items); } { std::vector items; items.reserve(10); @@ -4864,7 +4901,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("REFERENCEMARKER"); items.push_back("STATION"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcReferentTypeEnum_type = new enumeration_type("IfcReferentTypeEnum", 888, items); + IFC4X3_RC4_IfcReferentTypeEnum_type = new enumeration_type("IfcReferentTypeEnum", 886, items); } { std::vector items; items.reserve(10); @@ -4878,7 +4915,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PHONG"); items.push_back("PLASTIC"); items.push_back("STRAUSS"); - IFC4X3_RC4_IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", 889, items); + IFC4X3_RC4_IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", 887, items); } { std::vector items; items.reserve(8); @@ -4890,7 +4927,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SURCHARGEPRELOADED"); items.push_back("USERDEFINED"); items.push_back("VERTICALLYDRAINED"); - IFC4X3_RC4_IfcReinforcedSoilTypeEnum_type = new enumeration_type("IfcReinforcedSoilTypeEnum", 892, items); + IFC4X3_RC4_IfcReinforcedSoilTypeEnum_type = new enumeration_type("IfcReinforcedSoilTypeEnum", 890, items); } { std::vector items; items.reserve(10); @@ -4904,13 +4941,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SHEAR"); items.push_back("STUD"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", 896, items); + IFC4X3_RC4_IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", 894, items); } { std::vector items; items.reserve(2); items.push_back("PLAIN"); items.push_back("TEXTURED"); - IFC4X3_RC4_IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", 897, items); + IFC4X3_RC4_IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", 895, items); } { std::vector items; items.reserve(11); @@ -4925,13 +4962,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SPACEBAR"); items.push_back("STUD"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcReinforcingBarTypeEnum_type = new enumeration_type("IfcReinforcingBarTypeEnum", 899, items); + IFC4X3_RC4_IfcReinforcingBarTypeEnum_type = new enumeration_type("IfcReinforcingBarTypeEnum", 897, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcReinforcingMeshTypeEnum_type = new enumeration_type("IfcReinforcingMeshTypeEnum", 904, items); + IFC4X3_RC4_IfcReinforcingMeshTypeEnum_type = new enumeration_type("IfcReinforcingMeshTypeEnum", 902, items); } { std::vector items; items.reserve(26); @@ -4961,13 +4998,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRAFFICISLAND"); items.push_back("TRAFFICLANE"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRoadPartTypeEnum_type = new enumeration_type("IfcRoadPartTypeEnum", 972, items); + IFC4X3_RC4_IfcRoadPartTypeEnum_type = new enumeration_type("IfcRoadPartTypeEnum", 971, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRoadTypeEnum_type = new enumeration_type("IfcRoadTypeEnum", 973, items); + IFC4X3_RC4_IfcRoadTypeEnum_type = new enumeration_type("IfcRoadTypeEnum", 972, items); } { std::vector items; items.reserve(23); @@ -4994,7 +5031,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SUBCONTRACTOR"); items.push_back("SUPPLIER"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", 974, items); + IFC4X3_RC4_IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", 973, items); } { std::vector items; items.reserve(15); @@ -5013,16 +5050,16 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RAINBOW_ROOF"); items.push_back("SHED_ROOF"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 977, items); + IFC4X3_RC4_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 976, items); } - IFC4X3_RC4_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 979, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 980, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 981, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 978, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 979, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 980, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcBoolean_type); items.push_back(IFC4X3_RC4_IfcRotationalStiffnessMeasure_type); - IFC4X3_RC4_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 982, items); + IFC4X3_RC4_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 981, items); } { std::vector items; items.reserve(16); @@ -5042,7 +5079,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PETA"); items.push_back("PICO"); items.push_back("TERA"); - IFC4X3_RC4_IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", 1027, items); + IFC4X3_RC4_IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", 1026, items); } { std::vector items; items.reserve(30); @@ -5076,7 +5113,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("VOLT"); items.push_back("WATT"); items.push_back("WEBER"); - IFC4X3_RC4_IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", 1030, items); + IFC4X3_RC4_IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", 1029, items); } { std::vector items; items.reserve(12); @@ -5092,16 +5129,16 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("USERDEFINED"); items.push_back("WASHHANDBASIN"); items.push_back("WCSEAT"); - IFC4X3_RC4_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 986, items); + IFC4X3_RC4_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 985, items); } - IFC4X3_RC4_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 995, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 994, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back("TAPERED"); items.push_back("UNIFORM"); - IFC4X3_RC4_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 998, items); + IFC4X3_RC4_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 997, items); } - IFC4X3_RC4_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 990, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 989, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(34); items.push_back("CO2SENSOR"); @@ -5138,7 +5175,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("USERDEFINED"); items.push_back("WHEELSENSOR"); items.push_back("WINDSENSOR"); - IFC4X3_RC4_IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", 1004, items); + IFC4X3_RC4_IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", 1003, items); } { std::vector items; items.reserve(6); @@ -5148,7 +5185,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("START_FINISH"); items.push_back("START_START"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", 1005, items); + IFC4X3_RC4_IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", 1004, items); } { std::vector items; items.reserve(5); @@ -5157,9 +5194,9 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("SHUTTER"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 1009, items); + IFC4X3_RC4_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 1008, items); } - IFC4X3_RC4_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 1013, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 1012, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("MARKER"); @@ -5167,7 +5204,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("PICTORAL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcSignTypeEnum_type = new enumeration_type("IfcSignTypeEnum", 1021, items); + IFC4X3_RC4_IfcSignTypeEnum_type = new enumeration_type("IfcSignTypeEnum", 1020, items); } { std::vector items; items.reserve(5); @@ -5176,7 +5213,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); items.push_back("VISUAL"); - IFC4X3_RC4_IfcSignalTypeEnum_type = new enumeration_type("IfcSignalTypeEnum", 1019, items); + IFC4X3_RC4_IfcSignalTypeEnum_type = new enumeration_type("IfcSignalTypeEnum", 1018, items); } { std::vector items; items.reserve(12); @@ -5192,7 +5229,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("Q_TIME"); items.push_back("Q_VOLUME"); items.push_back("Q_WEIGHT"); - IFC4X3_RC4_IfcSimplePropertyTemplateTypeEnum_type = new enumeration_type("IfcSimplePropertyTemplateTypeEnum", 1024, items); + IFC4X3_RC4_IfcSimplePropertyTemplateTypeEnum_type = new enumeration_type("IfcSimplePropertyTemplateTypeEnum", 1023, items); } { std::vector items; items.reserve(11); @@ -5207,7 +5244,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRACKSLAB"); items.push_back("USERDEFINED"); items.push_back("WEARING"); - IFC4X3_RC4_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 1036, items); + IFC4X3_RC4_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 1035, items); } { std::vector items; items.reserve(4); @@ -5215,20 +5252,20 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SOLARCOLLECTOR"); items.push_back("SOLARPANEL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 1040, items); + IFC4X3_RC4_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 1039, items); } - IFC4X3_RC4_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 1041, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 1045, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 1046, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 1047, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 1048, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 1040, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 1044, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 1045, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 1046, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 1047, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("CONVECTOR"); items.push_back("NOTDEFINED"); items.push_back("RADIATOR"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", 1053, items); + IFC4X3_RC4_IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", 1052, items); } { std::vector items; items.reserve(8); @@ -5240,12 +5277,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PARKING"); items.push_back("SPACE"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 1055, items); + IFC4X3_RC4_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 1054, items); } { - std::vector items; items.reserve(11); + std::vector items; items.reserve(12); items.push_back("CONSTRUCTION"); items.push_back("FIRESAFETY"); + items.push_back("INTERFERENCE"); items.push_back("LIGHTING"); items.push_back("NOTDEFINED"); items.push_back("OCCUPANCY"); @@ -5255,11 +5293,11 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRANSPORT"); items.push_back("USERDEFINED"); items.push_back("VENTILATION"); - IFC4X3_RC4_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 1063, items); + IFC4X3_RC4_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 1062, items); } - IFC4X3_RC4_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 1064, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 1065, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 1067, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 1063, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 1064, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 1066, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("BIRDCAGE"); @@ -5267,7 +5305,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("RAINWATERHOPPER"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", 1073, items); + IFC4X3_RC4_IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", 1072, items); } { std::vector items; items.reserve(7); @@ -5278,7 +5316,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STRAIGHT"); items.push_back("USERDEFINED"); items.push_back("WINDER"); - IFC4X3_RC4_IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", 1077, items); + IFC4X3_RC4_IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", 1076, items); } { std::vector items; items.reserve(17); @@ -5299,7 +5337,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TWO_QUARTER_WINDING_STAIR"); items.push_back("TWO_STRAIGHT_RUN_STAIR"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", 1079, items); + IFC4X3_RC4_IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", 1078, items); } { std::vector items; items.reserve(5); @@ -5308,7 +5346,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("READONLYLOCKED"); items.push_back("READWRITE"); items.push_back("READWRITELOCKED"); - IFC4X3_RC4_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 1080, items); + IFC4X3_RC4_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 1079, items); } { std::vector items; items.reserve(9); @@ -5321,7 +5359,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("POLYGONAL"); items.push_back("SINUS"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcStructuralCurveActivityTypeEnum_type = new enumeration_type("IfcStructuralCurveActivityTypeEnum", 1088, items); + IFC4X3_RC4_IfcStructuralCurveActivityTypeEnum_type = new enumeration_type("IfcStructuralCurveActivityTypeEnum", 1087, items); } { std::vector items; items.reserve(7); @@ -5332,7 +5370,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RIGID_JOINED_MEMBER"); items.push_back("TENSION_MEMBER"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcStructuralCurveMemberTypeEnum_type = new enumeration_type("IfcStructuralCurveMemberTypeEnum", 1091, items); + IFC4X3_RC4_IfcStructuralCurveMemberTypeEnum_type = new enumeration_type("IfcStructuralCurveMemberTypeEnum", 1090, items); } { std::vector items; items.reserve(6); @@ -5342,7 +5380,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("ISOCONTOUR"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcStructuralSurfaceActivityTypeEnum_type = new enumeration_type("IfcStructuralSurfaceActivityTypeEnum", 1117, items); + IFC4X3_RC4_IfcStructuralSurfaceActivityTypeEnum_type = new enumeration_type("IfcStructuralSurfaceActivityTypeEnum", 1116, items); } { std::vector items; items.reserve(5); @@ -5351,7 +5389,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("SHELL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcStructuralSurfaceMemberTypeEnum_type = new enumeration_type("IfcStructuralSurfaceMemberTypeEnum", 1120, items); + IFC4X3_RC4_IfcStructuralSurfaceMemberTypeEnum_type = new enumeration_type("IfcStructuralSurfaceMemberTypeEnum", 1119, items); } { std::vector items; items.reserve(4); @@ -5359,7 +5397,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PURCHASE"); items.push_back("USERDEFINED"); items.push_back("WORK"); - IFC4X3_RC4_IfcSubContractResourceTypeEnum_type = new enumeration_type("IfcSubContractResourceTypeEnum", 1128, items); + IFC4X3_RC4_IfcSubContractResourceTypeEnum_type = new enumeration_type("IfcSubContractResourceTypeEnum", 1127, items); } { std::vector items; items.reserve(13); @@ -5376,14 +5414,14 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRANSVERSERUMBLESTRIP"); items.push_back("TREATMENT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcSurfaceFeatureTypeEnum_type = new enumeration_type("IfcSurfaceFeatureTypeEnum", 1134, items); + IFC4X3_RC4_IfcSurfaceFeatureTypeEnum_type = new enumeration_type("IfcSurfaceFeatureTypeEnum", 1133, items); } { std::vector items; items.reserve(3); items.push_back("BOTH"); items.push_back("NEGATIVE"); items.push_back("POSITIVE"); - IFC4X3_RC4_IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", 1139, items); + IFC4X3_RC4_IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", 1138, items); } { std::vector items; items.reserve(13); @@ -5400,7 +5438,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SWITCHDISCONNECTOR"); items.push_back("TOGGLESWITCH"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", 1154, items); + IFC4X3_RC4_IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", 1153, items); } { std::vector items; items.reserve(5); @@ -5409,7 +5447,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SUBRACK"); items.push_back("USERDEFINED"); items.push_back("WORKSURFACE"); - IFC4X3_RC4_IfcSystemFurnitureElementTypeEnum_type = new enumeration_type("IfcSystemFurnitureElementTypeEnum", 1158, items); + IFC4X3_RC4_IfcSystemFurnitureElementTypeEnum_type = new enumeration_type("IfcSystemFurnitureElementTypeEnum", 1157, items); } { std::vector items; items.reserve(10); @@ -5423,14 +5461,14 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STORAGE"); items.push_back("USERDEFINED"); items.push_back("VESSEL"); - IFC4X3_RC4_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 1164, items); + IFC4X3_RC4_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 1163, items); } { std::vector items; items.reserve(3); items.push_back("ELAPSEDTIME"); items.push_back("NOTDEFINED"); items.push_back("WORKTIME"); - IFC4X3_RC4_IfcTaskDurationEnum_type = new enumeration_type("IfcTaskDurationEnum", 1166, items); + IFC4X3_RC4_IfcTaskDurationEnum_type = new enumeration_type("IfcTaskDurationEnum", 1165, items); } { std::vector items; items.reserve(14); @@ -5448,10 +5486,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("REMOVAL"); items.push_back("RENOVATION"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcTaskTypeEnum_type = new enumeration_type("IfcTaskTypeEnum", 1170, items); + IFC4X3_RC4_IfcTaskTypeEnum_type = new enumeration_type("IfcTaskTypeEnum", 1169, items); } - IFC4X3_RC4_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1172, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1173, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1171, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1172, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("COUPLER"); @@ -5459,7 +5497,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("TENSIONING_END"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcTendonAnchorTypeEnum_type = new enumeration_type("IfcTendonAnchorTypeEnum", 1177, items); + IFC4X3_RC4_IfcTendonAnchorTypeEnum_type = new enumeration_type("IfcTendonAnchorTypeEnum", 1176, items); } { std::vector items; items.reserve(7); @@ -5470,7 +5508,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("TRUMPET"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcTendonConduitTypeEnum_type = new enumeration_type("IfcTendonConduitTypeEnum", 1180, items); + IFC4X3_RC4_IfcTendonConduitTypeEnum_type = new enumeration_type("IfcTendonConduitTypeEnum", 1179, items); } { std::vector items; items.reserve(6); @@ -5480,34 +5518,34 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STRAND"); items.push_back("USERDEFINED"); items.push_back("WIRE"); - IFC4X3_RC4_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 1182, items); + IFC4X3_RC4_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 1181, items); } - IFC4X3_RC4_IfcText_type = new type_declaration("IfcText", 1185, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1186, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1187, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1188, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcText_type = new type_declaration("IfcText", 1184, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1185, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1186, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1187, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(4); items.push_back("DOWN"); items.push_back("LEFT"); items.push_back("RIGHT"); items.push_back("UP"); - IFC4X3_RC4_IfcTextPath_type = new enumeration_type("IfcTextPath", 1192, items); + IFC4X3_RC4_IfcTextPath_type = new enumeration_type("IfcTextPath", 1191, items); } - IFC4X3_RC4_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1197, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1203, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1204, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1205, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1206, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1207, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1208, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcTime_type = new type_declaration("IfcTime", 1210, new simple_type(simple_type::string_type)); - IFC4X3_RC4_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1211, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1196, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1202, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1203, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1204, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1205, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1206, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1207, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcTime_type = new type_declaration("IfcTime", 1209, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1210, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcDuration_type); items.push_back(IFC4X3_RC4_IfcRatioMeasure_type); - IFC4X3_RC4_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1212, items); + IFC4X3_RC4_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1211, items); } { std::vector items; items.reserve(7); @@ -5518,10 +5556,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PIECEWISEBINARY"); items.push_back("PIECEWISECONSTANT"); items.push_back("PIECEWISECONTINUOUS"); - IFC4X3_RC4_IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", 1215, items); + IFC4X3_RC4_IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", 1214, items); } - IFC4X3_RC4_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1217, new simple_type(simple_type::integer_type)); - IFC4X3_RC4_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1221, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1216, new simple_type(simple_type::integer_type)); + IFC4X3_RC4_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1220, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(10); items.push_back("BLOCKINGDEVICE"); @@ -5534,7 +5572,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRACKENDOFALIGNMENT"); items.push_back("USERDEFINED"); items.push_back("VEHICLESTOP"); - IFC4X3_RC4_IfcTrackElementTypeEnum_type = new enumeration_type("IfcTrackElementTypeEnum", 1224, items); + IFC4X3_RC4_IfcTrackElementTypeEnum_type = new enumeration_type("IfcTrackElementTypeEnum", 1223, items); } { std::vector items; items.reserve(9); @@ -5547,7 +5585,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("RECTIFIER"); items.push_back("USERDEFINED"); items.push_back("VOLTAGE"); - IFC4X3_RC4_IfcTransformerTypeEnum_type = new enumeration_type("IfcTransformerTypeEnum", 1227, items); + IFC4X3_RC4_IfcTransformerTypeEnum_type = new enumeration_type("IfcTransformerTypeEnum", 1226, items); } { std::vector items; items.reserve(4); @@ -5555,13 +5593,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("CONTSAMEGRADIENT"); items.push_back("CONTSAMEGRADIENTSAMECURVATURE"); items.push_back("DISCONTINUOUS"); - IFC4X3_RC4_IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", 1228, items); + IFC4X3_RC4_IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", 1227, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcBoolean_type); items.push_back(IFC4X3_RC4_IfcLinearStiffnessMeasure_type); - IFC4X3_RC4_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1229, items); + IFC4X3_RC4_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1228, items); } { std::vector items; items.reserve(8); @@ -5573,7 +5611,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("MOVINGWALKWAY"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcTransportElementFixedTypeEnum_type = new enumeration_type("IfcTransportElementFixedTypeEnum", 1231, items); + IFC4X3_RC4_IfcTransportElementFixedTypeEnum_type = new enumeration_type("IfcTransportElementFixedTypeEnum", 1230, items); } { std::vector items; items.reserve(9); @@ -5586,29 +5624,29 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("VEHICLEMARINE"); items.push_back("VEHICLETRACKED"); items.push_back("VEHICLEWHEELED"); - IFC4X3_RC4_IfcTransportElementNonFixedTypeEnum_type = new enumeration_type("IfcTransportElementNonFixedTypeEnum", 1232, items); + IFC4X3_RC4_IfcTransportElementNonFixedTypeEnum_type = new enumeration_type("IfcTransportElementNonFixedTypeEnum", 1231, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcTransportElementFixedTypeEnum_type); items.push_back(IFC4X3_RC4_IfcTransportElementNonFixedTypeEnum_type); - IFC4X3_RC4_IfcTransportElementTypeSelect_type = new select_type("IfcTransportElementTypeSelect", 1234, items); + IFC4X3_RC4_IfcTransportElementTypeSelect_type = new select_type("IfcTransportElementTypeSelect", 1233, items); } { std::vector items; items.reserve(3); items.push_back("CARTESIAN"); items.push_back("PARAMETER"); items.push_back("UNSPECIFIED"); - IFC4X3_RC4_IfcTrimmingPreference_type = new enumeration_type("IfcTrimmingPreference", 1239, items); + IFC4X3_RC4_IfcTrimmingPreference_type = new enumeration_type("IfcTrimmingPreference", 1238, items); } { std::vector items; items.reserve(3); items.push_back("FINNED"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", 1244, items); + IFC4X3_RC4_IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", 1243, items); } - IFC4X3_RC4_IfcURIReference_type = new type_declaration("IfcURIReference", 1258, new simple_type(simple_type::string_type)); + IFC4X3_RC4_IfcURIReference_type = new type_declaration("IfcURIReference", 1257, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(30); items.push_back("ABSORBEDDOSEUNIT"); @@ -5641,11 +5679,12 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TIMEUNIT"); items.push_back("USERDEFINED"); items.push_back("VOLUMEUNIT"); - IFC4X3_RC4_IfcUnitEnum_type = new enumeration_type("IfcUnitEnum", 1257, items); + IFC4X3_RC4_IfcUnitEnum_type = new enumeration_type("IfcUnitEnum", 1256, items); } { - std::vector items; items.reserve(11); + std::vector items; items.reserve(12); items.push_back("ALARMPANEL"); + items.push_back("BASESTATIONCONTROLLER"); items.push_back("COMBINED"); items.push_back("CONTROLPANEL"); items.push_back("GASDETECTIONPANEL"); @@ -5656,7 +5695,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("THERMOSTAT"); items.push_back("USERDEFINED"); items.push_back("WEATHERSTATION"); - IFC4X3_RC4_IfcUnitaryControlElementTypeEnum_type = new enumeration_type("IfcUnitaryControlElementTypeEnum", 1252, items); + IFC4X3_RC4_IfcUnitaryControlElementTypeEnum_type = new enumeration_type("IfcUnitaryControlElementTypeEnum", 1251, items); } { std::vector items; items.reserve(7); @@ -5667,7 +5706,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("ROOFTOPUNIT"); items.push_back("SPLITSYSTEM"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcUnitaryEquipmentTypeEnum_type = new enumeration_type("IfcUnitaryEquipmentTypeEnum", 1255, items); + IFC4X3_RC4_IfcUnitaryEquipmentTypeEnum_type = new enumeration_type("IfcUnitaryEquipmentTypeEnum", 1254, items); } { std::vector items; items.reserve(23); @@ -5694,9 +5733,9 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STEAMTRAP"); items.push_back("STOPCOCK"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 1263, items); + IFC4X3_RC4_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 1262, items); } - IFC4X3_RC4_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1264, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1263, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(8); items.push_back("AXIAL_YIELD"); @@ -5707,7 +5746,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SHEAR_YIELD"); items.push_back("USERDEFINED"); items.push_back("VISCOUS"); - IFC4X3_RC4_IfcVibrationDamperTypeEnum_type = new enumeration_type("IfcVibrationDamperTypeEnum", 1272, items); + IFC4X3_RC4_IfcVibrationDamperTypeEnum_type = new enumeration_type("IfcVibrationDamperTypeEnum", 1271, items); } { std::vector items; items.reserve(5); @@ -5716,7 +5755,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("SPRING"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", 1275, items); + IFC4X3_RC4_IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", 1274, items); } { std::vector items; items.reserve(8); @@ -5728,10 +5767,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTCH"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcVoidingFeatureTypeEnum_type = new enumeration_type("IfcVoidingFeatureTypeEnum", 1279, items); + IFC4X3_RC4_IfcVoidingFeatureTypeEnum_type = new enumeration_type("IfcVoidingFeatureTypeEnum", 1278, items); } - IFC4X3_RC4_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1281, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1282, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1280, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1281, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(13); items.push_back("ELEMENTEDWALL"); @@ -5747,15 +5786,15 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("STANDARD"); items.push_back("USERDEFINED"); items.push_back("WAVEWALL"); - IFC4X3_RC4_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 1287, items); + IFC4X3_RC4_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 1286, items); } - IFC4X3_RC4_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1288, new simple_type(simple_type::real_type)); - IFC4X3_RC4_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1289, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1287, new simple_type(simple_type::real_type)); + IFC4X3_RC4_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1288, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcBoolean_type); items.push_back(IFC4X3_RC4_IfcWarpingMomentMeasure_type); - IFC4X3_RC4_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1290, items); + IFC4X3_RC4_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1289, items); } { std::vector items; items.reserve(9); @@ -5768,7 +5807,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("USERDEFINED"); items.push_back("WASTEDISPOSALUNIT"); items.push_back("WASTETRAP"); - IFC4X3_RC4_IfcWasteTerminalTypeEnum_type = new enumeration_type("IfcWasteTerminalTypeEnum", 1293, items); + IFC4X3_RC4_IfcWasteTerminalTypeEnum_type = new enumeration_type("IfcWasteTerminalTypeEnum", 1292, items); } { std::vector items; items.reserve(14); @@ -5786,7 +5825,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TILTANDTURNLEFTHAND"); items.push_back("TILTANDTURNRIGHTHAND"); items.push_back("TOPHUNG"); - IFC4X3_RC4_IfcWindowPanelOperationEnum_type = new enumeration_type("IfcWindowPanelOperationEnum", 1297, items); + IFC4X3_RC4_IfcWindowPanelOperationEnum_type = new enumeration_type("IfcWindowPanelOperationEnum", 1296, items); } { std::vector items; items.reserve(6); @@ -5796,7 +5835,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("RIGHT"); items.push_back("TOP"); - IFC4X3_RC4_IfcWindowPanelPositionEnum_type = new enumeration_type("IfcWindowPanelPositionEnum", 1298, items); + IFC4X3_RC4_IfcWindowPanelPositionEnum_type = new enumeration_type("IfcWindowPanelPositionEnum", 1297, items); } { std::vector items; items.reserve(8); @@ -5808,7 +5847,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("PLASTIC"); items.push_back("STEEL"); items.push_back("WOOD"); - IFC4X3_RC4_IfcWindowStyleConstructionEnum_type = new enumeration_type("IfcWindowStyleConstructionEnum", 1302, items); + IFC4X3_RC4_IfcWindowStyleConstructionEnum_type = new enumeration_type("IfcWindowStyleConstructionEnum", 1301, items); } { std::vector items; items.reserve(11); @@ -5823,7 +5862,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRIPLE_PANEL_TOP"); items.push_back("TRIPLE_PANEL_VERTICAL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcWindowStyleOperationEnum_type = new enumeration_type("IfcWindowStyleOperationEnum", 1303, items); + IFC4X3_RC4_IfcWindowStyleOperationEnum_type = new enumeration_type("IfcWindowStyleOperationEnum", 1302, items); } { std::vector items; items.reserve(5); @@ -5832,7 +5871,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SKYLIGHT"); items.push_back("USERDEFINED"); items.push_back("WINDOW"); - IFC4X3_RC4_IfcWindowTypeEnum_type = new enumeration_type("IfcWindowTypeEnum", 1305, items); + IFC4X3_RC4_IfcWindowTypeEnum_type = new enumeration_type("IfcWindowTypeEnum", 1304, items); } { std::vector items; items.reserve(11); @@ -5847,7 +5886,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("TRIPLE_PANEL_TOP"); items.push_back("TRIPLE_PANEL_VERTICAL"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcWindowTypePartitioningEnum_type = new enumeration_type("IfcWindowTypePartitioningEnum", 1306, items); + IFC4X3_RC4_IfcWindowTypePartitioningEnum_type = new enumeration_type("IfcWindowTypePartitioningEnum", 1305, items); } { std::vector items; items.reserve(5); @@ -5856,7 +5895,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("SECONDSHIFT"); items.push_back("THIRDSHIFT"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcWorkCalendarTypeEnum_type = new enumeration_type("IfcWorkCalendarTypeEnum", 1308, items); + IFC4X3_RC4_IfcWorkCalendarTypeEnum_type = new enumeration_type("IfcWorkCalendarTypeEnum", 1307, items); } { std::vector items; items.reserve(5); @@ -5865,7 +5904,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("PLANNED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcWorkPlanTypeEnum_type = new enumeration_type("IfcWorkPlanTypeEnum", 1311, items); + IFC4X3_RC4_IfcWorkPlanTypeEnum_type = new enumeration_type("IfcWorkPlanTypeEnum", 1310, items); } { std::vector items; items.reserve(5); @@ -5874,7 +5913,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back("NOTDEFINED"); items.push_back("PLANNED"); items.push_back("USERDEFINED"); - IFC4X3_RC4_IfcWorkScheduleTypeEnum_type = new enumeration_type("IfcWorkScheduleTypeEnum", 1313, items); + IFC4X3_RC4_IfcWorkScheduleTypeEnum_type = new enumeration_type("IfcWorkScheduleTypeEnum", 1312, items); } IFC4X3_RC4_IfcActorRole_type = new entity("IfcActorRole", false, 7, 0); IFC4X3_RC4_IfcAddress_type = new entity("IfcAddress", true, 12, 0); @@ -5899,109 +5938,109 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcDerivedUnit_type = new entity("IfcDerivedUnit", false, 301, 0); IFC4X3_RC4_IfcDerivedUnitElement_type = new entity("IfcDerivedUnitElement", false, 302, 0); IFC4X3_RC4_IfcDimensionalExponents_type = new entity("IfcDimensionalExponents", false, 305, 0); - IFC4X3_RC4_IfcExternalInformation_type = new entity("IfcExternalInformation", true, 429, 0); - IFC4X3_RC4_IfcExternalReference_type = new entity("IfcExternalReference", true, 433, 0); - IFC4X3_RC4_IfcExternallyDefinedHatchStyle_type = new entity("IfcExternallyDefinedHatchStyle", false, 430, IFC4X3_RC4_IfcExternalReference_type); - IFC4X3_RC4_IfcExternallyDefinedSurfaceStyle_type = new entity("IfcExternallyDefinedSurfaceStyle", false, 431, IFC4X3_RC4_IfcExternalReference_type); - IFC4X3_RC4_IfcExternallyDefinedTextFont_type = new entity("IfcExternallyDefinedTextFont", false, 432, IFC4X3_RC4_IfcExternalReference_type); - IFC4X3_RC4_IfcGridAxis_type = new entity("IfcGridAxis", false, 526, 0); - IFC4X3_RC4_IfcIrregularTimeSeriesValue_type = new entity("IfcIrregularTimeSeriesValue", false, 568, 0); - IFC4X3_RC4_IfcLibraryInformation_type = new entity("IfcLibraryInformation", false, 590, IFC4X3_RC4_IfcExternalInformation_type); - IFC4X3_RC4_IfcLibraryReference_type = new entity("IfcLibraryReference", false, 591, IFC4X3_RC4_IfcExternalReference_type); - IFC4X3_RC4_IfcLightDistributionData_type = new entity("IfcLightDistributionData", false, 594, 0); - IFC4X3_RC4_IfcLightIntensityDistribution_type = new entity("IfcLightIntensityDistribution", false, 600, 0); - IFC4X3_RC4_IfcMapConversion_type = new entity("IfcMapConversion", false, 631, IFC4X3_RC4_IfcCoordinateOperation_type); - IFC4X3_RC4_IfcMaterialClassificationRelationship_type = new entity("IfcMaterialClassificationRelationship", false, 641, 0); - IFC4X3_RC4_IfcMaterialDefinition_type = new entity("IfcMaterialDefinition", true, 644, 0); - IFC4X3_RC4_IfcMaterialLayer_type = new entity("IfcMaterialLayer", false, 646, IFC4X3_RC4_IfcMaterialDefinition_type); - IFC4X3_RC4_IfcMaterialLayerSet_type = new entity("IfcMaterialLayerSet", false, 647, IFC4X3_RC4_IfcMaterialDefinition_type); - IFC4X3_RC4_IfcMaterialLayerWithOffsets_type = new entity("IfcMaterialLayerWithOffsets", false, 649, IFC4X3_RC4_IfcMaterialLayer_type); - IFC4X3_RC4_IfcMaterialList_type = new entity("IfcMaterialList", false, 650, 0); - IFC4X3_RC4_IfcMaterialProfile_type = new entity("IfcMaterialProfile", false, 651, IFC4X3_RC4_IfcMaterialDefinition_type); - IFC4X3_RC4_IfcMaterialProfileSet_type = new entity("IfcMaterialProfileSet", false, 652, IFC4X3_RC4_IfcMaterialDefinition_type); - IFC4X3_RC4_IfcMaterialProfileWithOffsets_type = new entity("IfcMaterialProfileWithOffsets", false, 655, IFC4X3_RC4_IfcMaterialProfile_type); - IFC4X3_RC4_IfcMaterialUsageDefinition_type = new entity("IfcMaterialUsageDefinition", true, 659, 0); - IFC4X3_RC4_IfcMeasureWithUnit_type = new entity("IfcMeasureWithUnit", false, 661, 0); - IFC4X3_RC4_IfcMetric_type = new entity("IfcMetric", false, 672, IFC4X3_RC4_IfcConstraint_type); - IFC4X3_RC4_IfcMonetaryUnit_type = new entity("IfcMonetaryUnit", false, 689, 0); - IFC4X3_RC4_IfcNamedUnit_type = new entity("IfcNamedUnit", true, 697, 0); - IFC4X3_RC4_IfcObjectPlacement_type = new entity("IfcObjectPlacement", true, 708, 0); - IFC4X3_RC4_IfcObjective_type = new entity("IfcObjective", false, 706, IFC4X3_RC4_IfcConstraint_type); - IFC4X3_RC4_IfcOrganization_type = new entity("IfcOrganization", false, 722, 0); - IFC4X3_RC4_IfcOwnerHistory_type = new entity("IfcOwnerHistory", false, 729, 0); - IFC4X3_RC4_IfcPerson_type = new entity("IfcPerson", false, 743, 0); - IFC4X3_RC4_IfcPersonAndOrganization_type = new entity("IfcPersonAndOrganization", false, 744, 0); - IFC4X3_RC4_IfcPhysicalQuantity_type = new entity("IfcPhysicalQuantity", true, 748, 0); - IFC4X3_RC4_IfcPhysicalSimpleQuantity_type = new entity("IfcPhysicalSimpleQuantity", true, 749, IFC4X3_RC4_IfcPhysicalQuantity_type); - IFC4X3_RC4_IfcPostalAddress_type = new entity("IfcPostalAddress", false, 788, IFC4X3_RC4_IfcAddress_type); - IFC4X3_RC4_IfcPresentationItem_type = new entity("IfcPresentationItem", true, 798, 0); - IFC4X3_RC4_IfcPresentationLayerAssignment_type = new entity("IfcPresentationLayerAssignment", false, 799, 0); - IFC4X3_RC4_IfcPresentationLayerWithStyle_type = new entity("IfcPresentationLayerWithStyle", false, 800, IFC4X3_RC4_IfcPresentationLayerAssignment_type); - IFC4X3_RC4_IfcPresentationStyle_type = new entity("IfcPresentationStyle", true, 801, 0); - IFC4X3_RC4_IfcProductRepresentation_type = new entity("IfcProductRepresentation", true, 810, 0); - IFC4X3_RC4_IfcProfileDef_type = new entity("IfcProfileDef", false, 813, 0); - IFC4X3_RC4_IfcProjectedCRS_type = new entity("IfcProjectedCRS", false, 817, IFC4X3_RC4_IfcCoordinateReferenceSystem_type); - IFC4X3_RC4_IfcPropertyAbstraction_type = new entity("IfcPropertyAbstraction", true, 825, 0); - IFC4X3_RC4_IfcPropertyEnumeration_type = new entity("IfcPropertyEnumeration", false, 830, IFC4X3_RC4_IfcPropertyAbstraction_type); - IFC4X3_RC4_IfcQuantityArea_type = new entity("IfcQuantityArea", false, 853, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); - IFC4X3_RC4_IfcQuantityCount_type = new entity("IfcQuantityCount", false, 854, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); - IFC4X3_RC4_IfcQuantityLength_type = new entity("IfcQuantityLength", false, 855, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); - IFC4X3_RC4_IfcQuantityTime_type = new entity("IfcQuantityTime", false, 857, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); - IFC4X3_RC4_IfcQuantityVolume_type = new entity("IfcQuantityVolume", false, 858, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); - IFC4X3_RC4_IfcQuantityWeight_type = new entity("IfcQuantityWeight", false, 859, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); - IFC4X3_RC4_IfcRecurrencePattern_type = new entity("IfcRecurrencePattern", false, 884, 0); - IFC4X3_RC4_IfcReference_type = new entity("IfcReference", false, 886, 0); - IFC4X3_RC4_IfcRepresentation_type = new entity("IfcRepresentation", true, 956, 0); - IFC4X3_RC4_IfcRepresentationContext_type = new entity("IfcRepresentationContext", true, 957, 0); - IFC4X3_RC4_IfcRepresentationItem_type = new entity("IfcRepresentationItem", true, 958, 0); - IFC4X3_RC4_IfcRepresentationMap_type = new entity("IfcRepresentationMap", false, 959, 0); - IFC4X3_RC4_IfcResourceLevelRelationship_type = new entity("IfcResourceLevelRelationship", true, 963, 0); - IFC4X3_RC4_IfcRoot_type = new entity("IfcRoot", true, 978, 0); - IFC4X3_RC4_IfcSIUnit_type = new entity("IfcSIUnit", false, 1029, IFC4X3_RC4_IfcNamedUnit_type); - IFC4X3_RC4_IfcSchedulingTime_type = new entity("IfcSchedulingTime", true, 987, 0); - IFC4X3_RC4_IfcShapeAspect_type = new entity("IfcShapeAspect", false, 1010, 0); - IFC4X3_RC4_IfcShapeModel_type = new entity("IfcShapeModel", true, 1011, IFC4X3_RC4_IfcRepresentation_type); - IFC4X3_RC4_IfcShapeRepresentation_type = new entity("IfcShapeRepresentation", false, 1012, IFC4X3_RC4_IfcShapeModel_type); - IFC4X3_RC4_IfcStructuralConnectionCondition_type = new entity("IfcStructuralConnectionCondition", true, 1086, 0); - IFC4X3_RC4_IfcStructuralLoad_type = new entity("IfcStructuralLoad", true, 1096, 0); - IFC4X3_RC4_IfcStructuralLoadConfiguration_type = new entity("IfcStructuralLoadConfiguration", false, 1098, IFC4X3_RC4_IfcStructuralLoad_type); - IFC4X3_RC4_IfcStructuralLoadOrResult_type = new entity("IfcStructuralLoadOrResult", true, 1101, IFC4X3_RC4_IfcStructuralLoad_type); - IFC4X3_RC4_IfcStructuralLoadStatic_type = new entity("IfcStructuralLoadStatic", true, 1107, IFC4X3_RC4_IfcStructuralLoadOrResult_type); - IFC4X3_RC4_IfcStructuralLoadTemperature_type = new entity("IfcStructuralLoadTemperature", false, 1108, IFC4X3_RC4_IfcStructuralLoadStatic_type); - IFC4X3_RC4_IfcStyleModel_type = new entity("IfcStyleModel", true, 1125, IFC4X3_RC4_IfcRepresentation_type); - IFC4X3_RC4_IfcStyledItem_type = new entity("IfcStyledItem", false, 1123, IFC4X3_RC4_IfcRepresentationItem_type); - IFC4X3_RC4_IfcStyledRepresentation_type = new entity("IfcStyledRepresentation", false, 1124, IFC4X3_RC4_IfcStyleModel_type); - IFC4X3_RC4_IfcSurfaceReinforcementArea_type = new entity("IfcSurfaceReinforcementArea", false, 1138, IFC4X3_RC4_IfcStructuralLoadOrResult_type); - IFC4X3_RC4_IfcSurfaceStyle_type = new entity("IfcSurfaceStyle", false, 1140, IFC4X3_RC4_IfcPresentationStyle_type); - IFC4X3_RC4_IfcSurfaceStyleLighting_type = new entity("IfcSurfaceStyleLighting", false, 1142, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcSurfaceStyleRefraction_type = new entity("IfcSurfaceStyleRefraction", false, 1143, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcSurfaceStyleShading_type = new entity("IfcSurfaceStyleShading", false, 1145, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcSurfaceStyleWithTextures_type = new entity("IfcSurfaceStyleWithTextures", false, 1146, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcSurfaceTexture_type = new entity("IfcSurfaceTexture", true, 1147, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcTable_type = new entity("IfcTable", false, 1159, 0); - IFC4X3_RC4_IfcTableColumn_type = new entity("IfcTableColumn", false, 1160, 0); - IFC4X3_RC4_IfcTableRow_type = new entity("IfcTableRow", false, 1161, 0); - IFC4X3_RC4_IfcTaskTime_type = new entity("IfcTaskTime", false, 1167, IFC4X3_RC4_IfcSchedulingTime_type); - IFC4X3_RC4_IfcTaskTimeRecurring_type = new entity("IfcTaskTimeRecurring", false, 1168, IFC4X3_RC4_IfcTaskTime_type); - IFC4X3_RC4_IfcTelecomAddress_type = new entity("IfcTelecomAddress", false, 1171, IFC4X3_RC4_IfcAddress_type); - IFC4X3_RC4_IfcTextStyle_type = new entity("IfcTextStyle", false, 1193, IFC4X3_RC4_IfcPresentationStyle_type); - IFC4X3_RC4_IfcTextStyleForDefinedFont_type = new entity("IfcTextStyleForDefinedFont", false, 1195, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcTextStyleTextModel_type = new entity("IfcTextStyleTextModel", false, 1196, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcTextureCoordinate_type = new entity("IfcTextureCoordinate", true, 1198, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcTextureCoordinateGenerator_type = new entity("IfcTextureCoordinateGenerator", false, 1199, IFC4X3_RC4_IfcTextureCoordinate_type); - IFC4X3_RC4_IfcTextureMap_type = new entity("IfcTextureMap", false, 1200, IFC4X3_RC4_IfcTextureCoordinate_type); - IFC4X3_RC4_IfcTextureVertex_type = new entity("IfcTextureVertex", false, 1201, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcTextureVertexList_type = new entity("IfcTextureVertexList", false, 1202, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcTimePeriod_type = new entity("IfcTimePeriod", false, 1213, 0); - IFC4X3_RC4_IfcTimeSeries_type = new entity("IfcTimeSeries", true, 1214, 0); - IFC4X3_RC4_IfcTimeSeriesValue_type = new entity("IfcTimeSeriesValue", false, 1216, 0); - IFC4X3_RC4_IfcTopologicalRepresentationItem_type = new entity("IfcTopologicalRepresentationItem", true, 1218, IFC4X3_RC4_IfcRepresentationItem_type); - IFC4X3_RC4_IfcTopologyRepresentation_type = new entity("IfcTopologyRepresentation", false, 1219, IFC4X3_RC4_IfcShapeModel_type); - IFC4X3_RC4_IfcUnitAssignment_type = new entity("IfcUnitAssignment", false, 1256, 0); - IFC4X3_RC4_IfcVertex_type = new entity("IfcVertex", false, 1267, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); - IFC4X3_RC4_IfcVertexPoint_type = new entity("IfcVertexPoint", false, 1269, IFC4X3_RC4_IfcVertex_type); - IFC4X3_RC4_IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", false, 1277, 0); - IFC4X3_RC4_IfcWorkTime_type = new entity("IfcWorkTime", false, 1314, IFC4X3_RC4_IfcSchedulingTime_type); + IFC4X3_RC4_IfcExternalInformation_type = new entity("IfcExternalInformation", true, 428, 0); + IFC4X3_RC4_IfcExternalReference_type = new entity("IfcExternalReference", true, 432, 0); + IFC4X3_RC4_IfcExternallyDefinedHatchStyle_type = new entity("IfcExternallyDefinedHatchStyle", false, 429, IFC4X3_RC4_IfcExternalReference_type); + IFC4X3_RC4_IfcExternallyDefinedSurfaceStyle_type = new entity("IfcExternallyDefinedSurfaceStyle", false, 430, IFC4X3_RC4_IfcExternalReference_type); + IFC4X3_RC4_IfcExternallyDefinedTextFont_type = new entity("IfcExternallyDefinedTextFont", false, 431, IFC4X3_RC4_IfcExternalReference_type); + IFC4X3_RC4_IfcGridAxis_type = new entity("IfcGridAxis", false, 525, 0); + IFC4X3_RC4_IfcIrregularTimeSeriesValue_type = new entity("IfcIrregularTimeSeriesValue", false, 566, 0); + IFC4X3_RC4_IfcLibraryInformation_type = new entity("IfcLibraryInformation", false, 588, IFC4X3_RC4_IfcExternalInformation_type); + IFC4X3_RC4_IfcLibraryReference_type = new entity("IfcLibraryReference", false, 589, IFC4X3_RC4_IfcExternalReference_type); + IFC4X3_RC4_IfcLightDistributionData_type = new entity("IfcLightDistributionData", false, 592, 0); + IFC4X3_RC4_IfcLightIntensityDistribution_type = new entity("IfcLightIntensityDistribution", false, 598, 0); + IFC4X3_RC4_IfcMapConversion_type = new entity("IfcMapConversion", false, 629, IFC4X3_RC4_IfcCoordinateOperation_type); + IFC4X3_RC4_IfcMaterialClassificationRelationship_type = new entity("IfcMaterialClassificationRelationship", false, 639, 0); + IFC4X3_RC4_IfcMaterialDefinition_type = new entity("IfcMaterialDefinition", true, 642, 0); + IFC4X3_RC4_IfcMaterialLayer_type = new entity("IfcMaterialLayer", false, 644, IFC4X3_RC4_IfcMaterialDefinition_type); + IFC4X3_RC4_IfcMaterialLayerSet_type = new entity("IfcMaterialLayerSet", false, 645, IFC4X3_RC4_IfcMaterialDefinition_type); + IFC4X3_RC4_IfcMaterialLayerWithOffsets_type = new entity("IfcMaterialLayerWithOffsets", false, 647, IFC4X3_RC4_IfcMaterialLayer_type); + IFC4X3_RC4_IfcMaterialList_type = new entity("IfcMaterialList", false, 648, 0); + IFC4X3_RC4_IfcMaterialProfile_type = new entity("IfcMaterialProfile", false, 649, IFC4X3_RC4_IfcMaterialDefinition_type); + IFC4X3_RC4_IfcMaterialProfileSet_type = new entity("IfcMaterialProfileSet", false, 650, IFC4X3_RC4_IfcMaterialDefinition_type); + IFC4X3_RC4_IfcMaterialProfileWithOffsets_type = new entity("IfcMaterialProfileWithOffsets", false, 653, IFC4X3_RC4_IfcMaterialProfile_type); + IFC4X3_RC4_IfcMaterialUsageDefinition_type = new entity("IfcMaterialUsageDefinition", true, 657, 0); + IFC4X3_RC4_IfcMeasureWithUnit_type = new entity("IfcMeasureWithUnit", false, 659, 0); + IFC4X3_RC4_IfcMetric_type = new entity("IfcMetric", false, 670, IFC4X3_RC4_IfcConstraint_type); + IFC4X3_RC4_IfcMonetaryUnit_type = new entity("IfcMonetaryUnit", false, 687, 0); + IFC4X3_RC4_IfcNamedUnit_type = new entity("IfcNamedUnit", true, 695, 0); + IFC4X3_RC4_IfcObjectPlacement_type = new entity("IfcObjectPlacement", true, 706, 0); + IFC4X3_RC4_IfcObjective_type = new entity("IfcObjective", false, 704, IFC4X3_RC4_IfcConstraint_type); + IFC4X3_RC4_IfcOrganization_type = new entity("IfcOrganization", false, 720, 0); + IFC4X3_RC4_IfcOwnerHistory_type = new entity("IfcOwnerHistory", false, 727, 0); + IFC4X3_RC4_IfcPerson_type = new entity("IfcPerson", false, 741, 0); + IFC4X3_RC4_IfcPersonAndOrganization_type = new entity("IfcPersonAndOrganization", false, 742, 0); + IFC4X3_RC4_IfcPhysicalQuantity_type = new entity("IfcPhysicalQuantity", true, 746, 0); + IFC4X3_RC4_IfcPhysicalSimpleQuantity_type = new entity("IfcPhysicalSimpleQuantity", true, 747, IFC4X3_RC4_IfcPhysicalQuantity_type); + IFC4X3_RC4_IfcPostalAddress_type = new entity("IfcPostalAddress", false, 786, IFC4X3_RC4_IfcAddress_type); + IFC4X3_RC4_IfcPresentationItem_type = new entity("IfcPresentationItem", true, 796, 0); + IFC4X3_RC4_IfcPresentationLayerAssignment_type = new entity("IfcPresentationLayerAssignment", false, 797, 0); + IFC4X3_RC4_IfcPresentationLayerWithStyle_type = new entity("IfcPresentationLayerWithStyle", false, 798, IFC4X3_RC4_IfcPresentationLayerAssignment_type); + IFC4X3_RC4_IfcPresentationStyle_type = new entity("IfcPresentationStyle", true, 799, 0); + IFC4X3_RC4_IfcProductRepresentation_type = new entity("IfcProductRepresentation", true, 808, 0); + IFC4X3_RC4_IfcProfileDef_type = new entity("IfcProfileDef", false, 811, 0); + IFC4X3_RC4_IfcProjectedCRS_type = new entity("IfcProjectedCRS", false, 815, IFC4X3_RC4_IfcCoordinateReferenceSystem_type); + IFC4X3_RC4_IfcPropertyAbstraction_type = new entity("IfcPropertyAbstraction", true, 823, 0); + IFC4X3_RC4_IfcPropertyEnumeration_type = new entity("IfcPropertyEnumeration", false, 828, IFC4X3_RC4_IfcPropertyAbstraction_type); + IFC4X3_RC4_IfcQuantityArea_type = new entity("IfcQuantityArea", false, 851, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); + IFC4X3_RC4_IfcQuantityCount_type = new entity("IfcQuantityCount", false, 852, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); + IFC4X3_RC4_IfcQuantityLength_type = new entity("IfcQuantityLength", false, 853, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); + IFC4X3_RC4_IfcQuantityTime_type = new entity("IfcQuantityTime", false, 855, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); + IFC4X3_RC4_IfcQuantityVolume_type = new entity("IfcQuantityVolume", false, 856, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); + IFC4X3_RC4_IfcQuantityWeight_type = new entity("IfcQuantityWeight", false, 857, IFC4X3_RC4_IfcPhysicalSimpleQuantity_type); + IFC4X3_RC4_IfcRecurrencePattern_type = new entity("IfcRecurrencePattern", false, 882, 0); + IFC4X3_RC4_IfcReference_type = new entity("IfcReference", false, 884, 0); + IFC4X3_RC4_IfcRepresentation_type = new entity("IfcRepresentation", true, 955, 0); + IFC4X3_RC4_IfcRepresentationContext_type = new entity("IfcRepresentationContext", true, 956, 0); + IFC4X3_RC4_IfcRepresentationItem_type = new entity("IfcRepresentationItem", true, 957, 0); + IFC4X3_RC4_IfcRepresentationMap_type = new entity("IfcRepresentationMap", false, 958, 0); + IFC4X3_RC4_IfcResourceLevelRelationship_type = new entity("IfcResourceLevelRelationship", true, 962, 0); + IFC4X3_RC4_IfcRoot_type = new entity("IfcRoot", true, 977, 0); + IFC4X3_RC4_IfcSIUnit_type = new entity("IfcSIUnit", false, 1028, IFC4X3_RC4_IfcNamedUnit_type); + IFC4X3_RC4_IfcSchedulingTime_type = new entity("IfcSchedulingTime", true, 986, 0); + IFC4X3_RC4_IfcShapeAspect_type = new entity("IfcShapeAspect", false, 1009, 0); + IFC4X3_RC4_IfcShapeModel_type = new entity("IfcShapeModel", true, 1010, IFC4X3_RC4_IfcRepresentation_type); + IFC4X3_RC4_IfcShapeRepresentation_type = new entity("IfcShapeRepresentation", false, 1011, IFC4X3_RC4_IfcShapeModel_type); + IFC4X3_RC4_IfcStructuralConnectionCondition_type = new entity("IfcStructuralConnectionCondition", true, 1085, 0); + IFC4X3_RC4_IfcStructuralLoad_type = new entity("IfcStructuralLoad", true, 1095, 0); + IFC4X3_RC4_IfcStructuralLoadConfiguration_type = new entity("IfcStructuralLoadConfiguration", false, 1097, IFC4X3_RC4_IfcStructuralLoad_type); + IFC4X3_RC4_IfcStructuralLoadOrResult_type = new entity("IfcStructuralLoadOrResult", true, 1100, IFC4X3_RC4_IfcStructuralLoad_type); + IFC4X3_RC4_IfcStructuralLoadStatic_type = new entity("IfcStructuralLoadStatic", true, 1106, IFC4X3_RC4_IfcStructuralLoadOrResult_type); + IFC4X3_RC4_IfcStructuralLoadTemperature_type = new entity("IfcStructuralLoadTemperature", false, 1107, IFC4X3_RC4_IfcStructuralLoadStatic_type); + IFC4X3_RC4_IfcStyleModel_type = new entity("IfcStyleModel", true, 1124, IFC4X3_RC4_IfcRepresentation_type); + IFC4X3_RC4_IfcStyledItem_type = new entity("IfcStyledItem", false, 1122, IFC4X3_RC4_IfcRepresentationItem_type); + IFC4X3_RC4_IfcStyledRepresentation_type = new entity("IfcStyledRepresentation", false, 1123, IFC4X3_RC4_IfcStyleModel_type); + IFC4X3_RC4_IfcSurfaceReinforcementArea_type = new entity("IfcSurfaceReinforcementArea", false, 1137, IFC4X3_RC4_IfcStructuralLoadOrResult_type); + IFC4X3_RC4_IfcSurfaceStyle_type = new entity("IfcSurfaceStyle", false, 1139, IFC4X3_RC4_IfcPresentationStyle_type); + IFC4X3_RC4_IfcSurfaceStyleLighting_type = new entity("IfcSurfaceStyleLighting", false, 1141, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcSurfaceStyleRefraction_type = new entity("IfcSurfaceStyleRefraction", false, 1142, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcSurfaceStyleShading_type = new entity("IfcSurfaceStyleShading", false, 1144, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcSurfaceStyleWithTextures_type = new entity("IfcSurfaceStyleWithTextures", false, 1145, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcSurfaceTexture_type = new entity("IfcSurfaceTexture", true, 1146, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcTable_type = new entity("IfcTable", false, 1158, 0); + IFC4X3_RC4_IfcTableColumn_type = new entity("IfcTableColumn", false, 1159, 0); + IFC4X3_RC4_IfcTableRow_type = new entity("IfcTableRow", false, 1160, 0); + IFC4X3_RC4_IfcTaskTime_type = new entity("IfcTaskTime", false, 1166, IFC4X3_RC4_IfcSchedulingTime_type); + IFC4X3_RC4_IfcTaskTimeRecurring_type = new entity("IfcTaskTimeRecurring", false, 1167, IFC4X3_RC4_IfcTaskTime_type); + IFC4X3_RC4_IfcTelecomAddress_type = new entity("IfcTelecomAddress", false, 1170, IFC4X3_RC4_IfcAddress_type); + IFC4X3_RC4_IfcTextStyle_type = new entity("IfcTextStyle", false, 1192, IFC4X3_RC4_IfcPresentationStyle_type); + IFC4X3_RC4_IfcTextStyleForDefinedFont_type = new entity("IfcTextStyleForDefinedFont", false, 1194, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcTextStyleTextModel_type = new entity("IfcTextStyleTextModel", false, 1195, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcTextureCoordinate_type = new entity("IfcTextureCoordinate", true, 1197, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcTextureCoordinateGenerator_type = new entity("IfcTextureCoordinateGenerator", false, 1198, IFC4X3_RC4_IfcTextureCoordinate_type); + IFC4X3_RC4_IfcTextureMap_type = new entity("IfcTextureMap", false, 1199, IFC4X3_RC4_IfcTextureCoordinate_type); + IFC4X3_RC4_IfcTextureVertex_type = new entity("IfcTextureVertex", false, 1200, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcTextureVertexList_type = new entity("IfcTextureVertexList", false, 1201, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcTimePeriod_type = new entity("IfcTimePeriod", false, 1212, 0); + IFC4X3_RC4_IfcTimeSeries_type = new entity("IfcTimeSeries", true, 1213, 0); + IFC4X3_RC4_IfcTimeSeriesValue_type = new entity("IfcTimeSeriesValue", false, 1215, 0); + IFC4X3_RC4_IfcTopologicalRepresentationItem_type = new entity("IfcTopologicalRepresentationItem", true, 1217, IFC4X3_RC4_IfcRepresentationItem_type); + IFC4X3_RC4_IfcTopologyRepresentation_type = new entity("IfcTopologyRepresentation", false, 1218, IFC4X3_RC4_IfcShapeModel_type); + IFC4X3_RC4_IfcUnitAssignment_type = new entity("IfcUnitAssignment", false, 1255, 0); + IFC4X3_RC4_IfcVertex_type = new entity("IfcVertex", false, 1266, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); + IFC4X3_RC4_IfcVertexPoint_type = new entity("IfcVertexPoint", false, 1268, IFC4X3_RC4_IfcVertex_type); + IFC4X3_RC4_IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", false, 1276, 0); + IFC4X3_RC4_IfcWorkTime_type = new entity("IfcWorkTime", false, 1313, IFC4X3_RC4_IfcSchedulingTime_type); { std::vector items; items.reserve(3); items.push_back(IFC4X3_RC4_IfcOrganization_type); @@ -6105,42 +6144,42 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back(IFC4X3_RC4_IfcMarinePartTypeEnum_type); items.push_back(IFC4X3_RC4_IfcRailwayPartTypeEnum_type); items.push_back(IFC4X3_RC4_IfcRoadPartTypeEnum_type); - IFC4X3_RC4_IfcFacilityPartTypeSelect_type = new select_type("IfcFacilityPartTypeSelect", 450, items); + IFC4X3_RC4_IfcFacilityPartTypeSelect_type = new select_type("IfcFacilityPartTypeSelect", 449, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X3_RC4_IfcImpactProtectionDeviceTypeEnum_type); items.push_back(IFC4X3_RC4_IfcVibrationDamperTypeEnum_type); items.push_back(IFC4X3_RC4_IfcVibrationIsolatorTypeEnum_type); - IFC4X3_RC4_IfcImpactProtectionDeviceTypeSelect_type = new select_type("IfcImpactProtectionDeviceTypeSelect", 547, items); + IFC4X3_RC4_IfcImpactProtectionDeviceTypeSelect_type = new select_type("IfcImpactProtectionDeviceTypeSelect", 546, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcRepresentation_type); items.push_back(IFC4X3_RC4_IfcRepresentationItem_type); - IFC4X3_RC4_IfcLayeredItem_type = new select_type("IfcLayeredItem", 587, items); + IFC4X3_RC4_IfcLayeredItem_type = new select_type("IfcLayeredItem", 585, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcLibraryInformation_type); items.push_back(IFC4X3_RC4_IfcLibraryReference_type); - IFC4X3_RC4_IfcLibrarySelect_type = new select_type("IfcLibrarySelect", 592, items); + IFC4X3_RC4_IfcLibrarySelect_type = new select_type("IfcLibrarySelect", 590, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcExternalReference_type); items.push_back(IFC4X3_RC4_IfcLightIntensityDistribution_type); - IFC4X3_RC4_IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", 595, items); + IFC4X3_RC4_IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", 593, items); } - IFC4X3_RC4_IfcLineIndex_type = new type_declaration("IfcLineIndex", 615, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC4_IfcPositiveInteger_type))); + IFC4X3_RC4_IfcLineIndex_type = new type_declaration("IfcLineIndex", 613, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X3_RC4_IfcPositiveInteger_type))); { std::vector items; items.reserve(3); items.push_back(IFC4X3_RC4_IfcMaterialDefinition_type); items.push_back(IFC4X3_RC4_IfcMaterialList_type); items.push_back(IFC4X3_RC4_IfcMaterialUsageDefinition_type); - IFC4X3_RC4_IfcMaterialSelect_type = new select_type("IfcMaterialSelect", 658, items); + IFC4X3_RC4_IfcMaterialSelect_type = new select_type("IfcMaterialSelect", 656, items); } - IFC4X3_RC4_IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", 702, new named_type(IFC4X3_RC4_IfcRatioMeasure_type)); + IFC4X3_RC4_IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", 700, new named_type(IFC4X3_RC4_IfcRatioMeasure_type)); { std::vector items; items.reserve(9); items.push_back(IFC4X3_RC4_IfcAddress_type); @@ -6152,14 +6191,14 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back(IFC4X3_RC4_IfcPersonAndOrganization_type); items.push_back(IFC4X3_RC4_IfcTable_type); items.push_back(IFC4X3_RC4_IfcTimeSeries_type); - IFC4X3_RC4_IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", 709, items); + IFC4X3_RC4_IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", 707, items); } - IFC4X3_RC4_IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", 787, new named_type(IFC4X3_RC4_IfcRatioMeasure_type)); + IFC4X3_RC4_IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", 785, new named_type(IFC4X3_RC4_IfcRatioMeasure_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcArcIndex_type); items.push_back(IFC4X3_RC4_IfcLineIndex_type); - IFC4X3_RC4_IfcSegmentIndexSelect_type = new select_type("IfcSegmentIndexSelect", 1001, items); + IFC4X3_RC4_IfcSegmentIndexSelect_type = new select_type("IfcSegmentIndexSelect", 1000, items); } { std::vector items; items.reserve(14); @@ -6177,7 +6216,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back(IFC4X3_RC4_IfcText_type); items.push_back(IFC4X3_RC4_IfcTime_type); items.push_back(IFC4X3_RC4_IfcTimeStamp_type); - IFC4X3_RC4_IfcSimpleValue_type = new select_type("IfcSimpleValue", 1025, items); + IFC4X3_RC4_IfcSimpleValue_type = new select_type("IfcSimpleValue", 1024, items); } { std::vector items; items.reserve(6); @@ -6187,13 +6226,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back(IFC4X3_RC4_IfcPositiveLengthMeasure_type); items.push_back(IFC4X3_RC4_IfcPositiveRatioMeasure_type); items.push_back(IFC4X3_RC4_IfcRatioMeasure_type); - IFC4X3_RC4_IfcSizeSelect_type = new select_type("IfcSizeSelect", 1031, items); + IFC4X3_RC4_IfcSizeSelect_type = new select_type("IfcSizeSelect", 1030, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcSpecularExponent_type); items.push_back(IFC4X3_RC4_IfcSpecularRoughness_type); - IFC4X3_RC4_IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", 1066, items); + IFC4X3_RC4_IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", 1065, items); } { std::vector items; items.reserve(5); @@ -6202,14 +6241,14 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back(IFC4X3_RC4_IfcSurfaceStyleRefraction_type); items.push_back(IFC4X3_RC4_IfcSurfaceStyleShading_type); items.push_back(IFC4X3_RC4_IfcSurfaceStyleWithTextures_type); - IFC4X3_RC4_IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", 1141, items); + IFC4X3_RC4_IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", 1140, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X3_RC4_IfcDerivedUnit_type); items.push_back(IFC4X3_RC4_IfcMonetaryUnit_type); items.push_back(IFC4X3_RC4_IfcNamedUnit_type); - IFC4X3_RC4_IfcUnit_type = new select_type("IfcUnit", 1249, items); + IFC4X3_RC4_IfcUnit_type = new select_type("IfcUnit", 1248, items); } IFC4X3_RC4_IfcAlignmentCantSegment_type = new entity("IfcAlignmentCantSegment", false, 31, IFC4X3_RC4_IfcAlignmentParameterSegment_type); IFC4X3_RC4_IfcAlignmentHorizontalSegment_type = new entity("IfcAlignmentHorizontalSegment", false, 34, IFC4X3_RC4_IfcAlignmentParameterSegment_type); @@ -6236,124 +6275,124 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcCurveStyleFontAndScaling_type = new entity("IfcCurveStyleFontAndScaling", false, 284, IFC4X3_RC4_IfcPresentationItem_type); IFC4X3_RC4_IfcCurveStyleFontPattern_type = new entity("IfcCurveStyleFontPattern", false, 285, IFC4X3_RC4_IfcPresentationItem_type); IFC4X3_RC4_IfcDerivedProfileDef_type = new entity("IfcDerivedProfileDef", false, 300, IFC4X3_RC4_IfcProfileDef_type); - IFC4X3_RC4_IfcDocumentInformation_type = new entity("IfcDocumentInformation", false, 333, IFC4X3_RC4_IfcExternalInformation_type); - IFC4X3_RC4_IfcDocumentInformationRelationship_type = new entity("IfcDocumentInformationRelationship", false, 334, IFC4X3_RC4_IfcResourceLevelRelationship_type); - IFC4X3_RC4_IfcDocumentReference_type = new entity("IfcDocumentReference", false, 335, IFC4X3_RC4_IfcExternalReference_type); - IFC4X3_RC4_IfcEdge_type = new entity("IfcEdge", false, 369, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); - IFC4X3_RC4_IfcEdgeCurve_type = new entity("IfcEdgeCurve", false, 370, IFC4X3_RC4_IfcEdge_type); - IFC4X3_RC4_IfcEventTime_type = new entity("IfcEventTime", false, 424, IFC4X3_RC4_IfcSchedulingTime_type); - IFC4X3_RC4_IfcExtendedProperties_type = new entity("IfcExtendedProperties", true, 428, IFC4X3_RC4_IfcPropertyAbstraction_type); - IFC4X3_RC4_IfcExternalReferenceRelationship_type = new entity("IfcExternalReferenceRelationship", false, 434, IFC4X3_RC4_IfcResourceLevelRelationship_type); - IFC4X3_RC4_IfcFace_type = new entity("IfcFace", false, 440, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); - IFC4X3_RC4_IfcFaceBound_type = new entity("IfcFaceBound", false, 442, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); - IFC4X3_RC4_IfcFaceOuterBound_type = new entity("IfcFaceOuterBound", false, 443, IFC4X3_RC4_IfcFaceBound_type); - IFC4X3_RC4_IfcFaceSurface_type = new entity("IfcFaceSurface", false, 444, IFC4X3_RC4_IfcFace_type); - IFC4X3_RC4_IfcFailureConnectionCondition_type = new entity("IfcFailureConnectionCondition", false, 452, IFC4X3_RC4_IfcStructuralConnectionCondition_type); - IFC4X3_RC4_IfcFillAreaStyle_type = new entity("IfcFillAreaStyle", false, 462, IFC4X3_RC4_IfcPresentationStyle_type); - IFC4X3_RC4_IfcGeometricRepresentationContext_type = new entity("IfcGeometricRepresentationContext", false, 512, IFC4X3_RC4_IfcRepresentationContext_type); - IFC4X3_RC4_IfcGeometricRepresentationItem_type = new entity("IfcGeometricRepresentationItem", true, 513, IFC4X3_RC4_IfcRepresentationItem_type); - IFC4X3_RC4_IfcGeometricRepresentationSubContext_type = new entity("IfcGeometricRepresentationSubContext", false, 514, IFC4X3_RC4_IfcGeometricRepresentationContext_type); - IFC4X3_RC4_IfcGeometricSet_type = new entity("IfcGeometricSet", false, 515, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcGridPlacement_type = new entity("IfcGridPlacement", false, 527, IFC4X3_RC4_IfcObjectPlacement_type); - IFC4X3_RC4_IfcHalfSpaceSolid_type = new entity("IfcHalfSpaceSolid", false, 531, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcImageTexture_type = new entity("IfcImageTexture", false, 543, IFC4X3_RC4_IfcSurfaceTexture_type); - IFC4X3_RC4_IfcIndexedColourMap_type = new entity("IfcIndexedColourMap", false, 549, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcIndexedTextureMap_type = new entity("IfcIndexedTextureMap", true, 553, IFC4X3_RC4_IfcTextureCoordinate_type); - IFC4X3_RC4_IfcIndexedTriangleTextureMap_type = new entity("IfcIndexedTriangleTextureMap", false, 554, IFC4X3_RC4_IfcIndexedTextureMap_type); - IFC4X3_RC4_IfcIrregularTimeSeries_type = new entity("IfcIrregularTimeSeries", false, 567, IFC4X3_RC4_IfcTimeSeries_type); - IFC4X3_RC4_IfcLagTime_type = new entity("IfcLagTime", false, 582, IFC4X3_RC4_IfcSchedulingTime_type); - IFC4X3_RC4_IfcLightSource_type = new entity("IfcLightSource", true, 601, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcLightSourceAmbient_type = new entity("IfcLightSourceAmbient", false, 602, IFC4X3_RC4_IfcLightSource_type); - IFC4X3_RC4_IfcLightSourceDirectional_type = new entity("IfcLightSourceDirectional", false, 603, IFC4X3_RC4_IfcLightSource_type); - IFC4X3_RC4_IfcLightSourceGoniometric_type = new entity("IfcLightSourceGoniometric", false, 604, IFC4X3_RC4_IfcLightSource_type); - IFC4X3_RC4_IfcLightSourcePositional_type = new entity("IfcLightSourcePositional", false, 605, IFC4X3_RC4_IfcLightSource_type); - IFC4X3_RC4_IfcLightSourceSpot_type = new entity("IfcLightSourceSpot", false, 606, IFC4X3_RC4_IfcLightSourcePositional_type); - IFC4X3_RC4_IfcLinearPlacement_type = new entity("IfcLinearPlacement", false, 611, IFC4X3_RC4_IfcObjectPlacement_type); - IFC4X3_RC4_IfcLocalPlacement_type = new entity("IfcLocalPlacement", false, 620, IFC4X3_RC4_IfcObjectPlacement_type); - IFC4X3_RC4_IfcLoop_type = new entity("IfcLoop", false, 623, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); - IFC4X3_RC4_IfcMappedItem_type = new entity("IfcMappedItem", false, 632, IFC4X3_RC4_IfcRepresentationItem_type); - IFC4X3_RC4_IfcMaterial_type = new entity("IfcMaterial", false, 640, IFC4X3_RC4_IfcMaterialDefinition_type); - IFC4X3_RC4_IfcMaterialConstituent_type = new entity("IfcMaterialConstituent", false, 642, IFC4X3_RC4_IfcMaterialDefinition_type); - IFC4X3_RC4_IfcMaterialConstituentSet_type = new entity("IfcMaterialConstituentSet", false, 643, IFC4X3_RC4_IfcMaterialDefinition_type); - IFC4X3_RC4_IfcMaterialDefinitionRepresentation_type = new entity("IfcMaterialDefinitionRepresentation", false, 645, IFC4X3_RC4_IfcProductRepresentation_type); - IFC4X3_RC4_IfcMaterialLayerSetUsage_type = new entity("IfcMaterialLayerSetUsage", false, 648, IFC4X3_RC4_IfcMaterialUsageDefinition_type); - IFC4X3_RC4_IfcMaterialProfileSetUsage_type = new entity("IfcMaterialProfileSetUsage", false, 653, IFC4X3_RC4_IfcMaterialUsageDefinition_type); - IFC4X3_RC4_IfcMaterialProfileSetUsageTapering_type = new entity("IfcMaterialProfileSetUsageTapering", false, 654, IFC4X3_RC4_IfcMaterialProfileSetUsage_type); - IFC4X3_RC4_IfcMaterialProperties_type = new entity("IfcMaterialProperties", false, 656, IFC4X3_RC4_IfcExtendedProperties_type); - IFC4X3_RC4_IfcMaterialRelationship_type = new entity("IfcMaterialRelationship", false, 657, IFC4X3_RC4_IfcResourceLevelRelationship_type); - IFC4X3_RC4_IfcMirroredProfileDef_type = new entity("IfcMirroredProfileDef", false, 674, IFC4X3_RC4_IfcDerivedProfileDef_type); - IFC4X3_RC4_IfcObjectDefinition_type = new entity("IfcObjectDefinition", true, 705, IFC4X3_RC4_IfcRoot_type); - IFC4X3_RC4_IfcOpenCrossProfileDef_type = new entity("IfcOpenCrossProfileDef", false, 717, IFC4X3_RC4_IfcProfileDef_type); - IFC4X3_RC4_IfcOpenShell_type = new entity("IfcOpenShell", false, 721, IFC4X3_RC4_IfcConnectedFaceSet_type); - IFC4X3_RC4_IfcOrganizationRelationship_type = new entity("IfcOrganizationRelationship", false, 723, IFC4X3_RC4_IfcResourceLevelRelationship_type); - IFC4X3_RC4_IfcOrientedEdge_type = new entity("IfcOrientedEdge", false, 724, IFC4X3_RC4_IfcEdge_type); - IFC4X3_RC4_IfcParameterizedProfileDef_type = new entity("IfcParameterizedProfileDef", true, 730, IFC4X3_RC4_IfcProfileDef_type); - IFC4X3_RC4_IfcPath_type = new entity("IfcPath", false, 732, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); - IFC4X3_RC4_IfcPhysicalComplexQuantity_type = new entity("IfcPhysicalComplexQuantity", false, 746, IFC4X3_RC4_IfcPhysicalQuantity_type); - IFC4X3_RC4_IfcPixelTexture_type = new entity("IfcPixelTexture", false, 760, IFC4X3_RC4_IfcSurfaceTexture_type); - IFC4X3_RC4_IfcPlacement_type = new entity("IfcPlacement", true, 761, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcPlanarExtent_type = new entity("IfcPlanarExtent", false, 763, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcPoint_type = new entity("IfcPoint", true, 772, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcPointByDistanceExpression_type = new entity("IfcPointByDistanceExpression", false, 773, IFC4X3_RC4_IfcPoint_type); - IFC4X3_RC4_IfcPointOnCurve_type = new entity("IfcPointOnCurve", false, 774, IFC4X3_RC4_IfcPoint_type); - IFC4X3_RC4_IfcPointOnSurface_type = new entity("IfcPointOnSurface", false, 775, IFC4X3_RC4_IfcPoint_type); - IFC4X3_RC4_IfcPolyLoop_type = new entity("IfcPolyLoop", false, 780, IFC4X3_RC4_IfcLoop_type); - IFC4X3_RC4_IfcPolygonalBoundedHalfSpace_type = new entity("IfcPolygonalBoundedHalfSpace", false, 777, IFC4X3_RC4_IfcHalfSpaceSolid_type); - IFC4X3_RC4_IfcPreDefinedItem_type = new entity("IfcPreDefinedItem", true, 792, IFC4X3_RC4_IfcPresentationItem_type); - IFC4X3_RC4_IfcPreDefinedProperties_type = new entity("IfcPreDefinedProperties", true, 793, IFC4X3_RC4_IfcPropertyAbstraction_type); - IFC4X3_RC4_IfcPreDefinedTextFont_type = new entity("IfcPreDefinedTextFont", true, 795, IFC4X3_RC4_IfcPreDefinedItem_type); - IFC4X3_RC4_IfcProductDefinitionShape_type = new entity("IfcProductDefinitionShape", false, 809, IFC4X3_RC4_IfcProductRepresentation_type); - IFC4X3_RC4_IfcProfileProperties_type = new entity("IfcProfileProperties", false, 814, IFC4X3_RC4_IfcExtendedProperties_type); - IFC4X3_RC4_IfcProperty_type = new entity("IfcProperty", true, 824, IFC4X3_RC4_IfcPropertyAbstraction_type); - IFC4X3_RC4_IfcPropertyDefinition_type = new entity("IfcPropertyDefinition", true, 827, IFC4X3_RC4_IfcRoot_type); - IFC4X3_RC4_IfcPropertyDependencyRelationship_type = new entity("IfcPropertyDependencyRelationship", false, 828, IFC4X3_RC4_IfcResourceLevelRelationship_type); - IFC4X3_RC4_IfcPropertySetDefinition_type = new entity("IfcPropertySetDefinition", true, 834, IFC4X3_RC4_IfcPropertyDefinition_type); - IFC4X3_RC4_IfcPropertyTemplateDefinition_type = new entity("IfcPropertyTemplateDefinition", true, 842, IFC4X3_RC4_IfcPropertyDefinition_type); - IFC4X3_RC4_IfcQuantitySet_type = new entity("IfcQuantitySet", true, 856, IFC4X3_RC4_IfcPropertySetDefinition_type); - IFC4X3_RC4_IfcRectangleProfileDef_type = new entity("IfcRectangleProfileDef", false, 881, IFC4X3_RC4_IfcParameterizedProfileDef_type); - IFC4X3_RC4_IfcRegularTimeSeries_type = new entity("IfcRegularTimeSeries", false, 890, IFC4X3_RC4_IfcTimeSeries_type); - IFC4X3_RC4_IfcReinforcementBarProperties_type = new entity("IfcReinforcementBarProperties", false, 893, IFC4X3_RC4_IfcPreDefinedProperties_type); - IFC4X3_RC4_IfcRelationship_type = new entity("IfcRelationship", true, 922, IFC4X3_RC4_IfcRoot_type); - IFC4X3_RC4_IfcResourceApprovalRelationship_type = new entity("IfcResourceApprovalRelationship", false, 961, IFC4X3_RC4_IfcResourceLevelRelationship_type); - IFC4X3_RC4_IfcResourceConstraintRelationship_type = new entity("IfcResourceConstraintRelationship", false, 962, IFC4X3_RC4_IfcResourceLevelRelationship_type); - IFC4X3_RC4_IfcResourceTime_type = new entity("IfcResourceTime", false, 966, IFC4X3_RC4_IfcSchedulingTime_type); - IFC4X3_RC4_IfcRoundedRectangleProfileDef_type = new entity("IfcRoundedRectangleProfileDef", false, 983, IFC4X3_RC4_IfcRectangleProfileDef_type); - IFC4X3_RC4_IfcSectionProperties_type = new entity("IfcSectionProperties", false, 996, IFC4X3_RC4_IfcPreDefinedProperties_type); - IFC4X3_RC4_IfcSectionReinforcementProperties_type = new entity("IfcSectionReinforcementProperties", false, 997, IFC4X3_RC4_IfcPreDefinedProperties_type); - IFC4X3_RC4_IfcSectionedSpine_type = new entity("IfcSectionedSpine", false, 993, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcSegment_type = new entity("IfcSegment", true, 999, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcShellBasedSurfaceModel_type = new entity("IfcShellBasedSurfaceModel", false, 1015, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcSimpleProperty_type = new entity("IfcSimpleProperty", true, 1022, IFC4X3_RC4_IfcProperty_type); - IFC4X3_RC4_IfcSlippageConnectionCondition_type = new entity("IfcSlippageConnectionCondition", false, 1037, IFC4X3_RC4_IfcStructuralConnectionCondition_type); - IFC4X3_RC4_IfcSolidModel_type = new entity("IfcSolidModel", true, 1042, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcStructuralLoadLinearForce_type = new entity("IfcStructuralLoadLinearForce", false, 1100, IFC4X3_RC4_IfcStructuralLoadStatic_type); - IFC4X3_RC4_IfcStructuralLoadPlanarForce_type = new entity("IfcStructuralLoadPlanarForce", false, 1102, IFC4X3_RC4_IfcStructuralLoadStatic_type); - IFC4X3_RC4_IfcStructuralLoadSingleDisplacement_type = new entity("IfcStructuralLoadSingleDisplacement", false, 1103, IFC4X3_RC4_IfcStructuralLoadStatic_type); - IFC4X3_RC4_IfcStructuralLoadSingleDisplacementDistortion_type = new entity("IfcStructuralLoadSingleDisplacementDistortion", false, 1104, IFC4X3_RC4_IfcStructuralLoadSingleDisplacement_type); - IFC4X3_RC4_IfcStructuralLoadSingleForce_type = new entity("IfcStructuralLoadSingleForce", false, 1105, IFC4X3_RC4_IfcStructuralLoadStatic_type); - IFC4X3_RC4_IfcStructuralLoadSingleForceWarping_type = new entity("IfcStructuralLoadSingleForceWarping", false, 1106, IFC4X3_RC4_IfcStructuralLoadSingleForce_type); - IFC4X3_RC4_IfcSubedge_type = new entity("IfcSubedge", false, 1129, IFC4X3_RC4_IfcEdge_type); - IFC4X3_RC4_IfcSurface_type = new entity("IfcSurface", true, 1130, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcSurfaceStyleRendering_type = new entity("IfcSurfaceStyleRendering", false, 1144, IFC4X3_RC4_IfcSurfaceStyleShading_type); - IFC4X3_RC4_IfcSweptAreaSolid_type = new entity("IfcSweptAreaSolid", true, 1148, IFC4X3_RC4_IfcSolidModel_type); - IFC4X3_RC4_IfcSweptDiskSolid_type = new entity("IfcSweptDiskSolid", false, 1149, IFC4X3_RC4_IfcSolidModel_type); - IFC4X3_RC4_IfcSweptDiskSolidPolygonal_type = new entity("IfcSweptDiskSolidPolygonal", false, 1150, IFC4X3_RC4_IfcSweptDiskSolid_type); - IFC4X3_RC4_IfcSweptSurface_type = new entity("IfcSweptSurface", true, 1151, IFC4X3_RC4_IfcSurface_type); - IFC4X3_RC4_IfcTShapeProfileDef_type = new entity("IfcTShapeProfileDef", false, 1241, IFC4X3_RC4_IfcParameterizedProfileDef_type); - IFC4X3_RC4_IfcTessellatedItem_type = new entity("IfcTessellatedItem", true, 1184, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcTextLiteral_type = new entity("IfcTextLiteral", false, 1190, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcTextLiteralWithExtent_type = new entity("IfcTextLiteralWithExtent", false, 1191, IFC4X3_RC4_IfcTextLiteral_type); - IFC4X3_RC4_IfcTextStyleFontModel_type = new entity("IfcTextStyleFontModel", false, 1194, IFC4X3_RC4_IfcPreDefinedTextFont_type); - IFC4X3_RC4_IfcTrapeziumProfileDef_type = new entity("IfcTrapeziumProfileDef", false, 1235, IFC4X3_RC4_IfcParameterizedProfileDef_type); - IFC4X3_RC4_IfcTypeObject_type = new entity("IfcTypeObject", false, 1245, IFC4X3_RC4_IfcObjectDefinition_type); - IFC4X3_RC4_IfcTypeProcess_type = new entity("IfcTypeProcess", true, 1246, IFC4X3_RC4_IfcTypeObject_type); - IFC4X3_RC4_IfcTypeProduct_type = new entity("IfcTypeProduct", false, 1247, IFC4X3_RC4_IfcTypeObject_type); - IFC4X3_RC4_IfcTypeResource_type = new entity("IfcTypeResource", true, 1248, IFC4X3_RC4_IfcTypeObject_type); - IFC4X3_RC4_IfcUShapeProfileDef_type = new entity("IfcUShapeProfileDef", false, 1259, IFC4X3_RC4_IfcParameterizedProfileDef_type); - IFC4X3_RC4_IfcVector_type = new entity("IfcVector", false, 1265, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcVertexLoop_type = new entity("IfcVertexLoop", false, 1268, IFC4X3_RC4_IfcLoop_type); - IFC4X3_RC4_IfcWindowStyle_type = new entity("IfcWindowStyle", false, 1301, IFC4X3_RC4_IfcTypeProduct_type); - IFC4X3_RC4_IfcZShapeProfileDef_type = new entity("IfcZShapeProfileDef", false, 1316, IFC4X3_RC4_IfcParameterizedProfileDef_type); + IFC4X3_RC4_IfcDocumentInformation_type = new entity("IfcDocumentInformation", false, 332, IFC4X3_RC4_IfcExternalInformation_type); + IFC4X3_RC4_IfcDocumentInformationRelationship_type = new entity("IfcDocumentInformationRelationship", false, 333, IFC4X3_RC4_IfcResourceLevelRelationship_type); + IFC4X3_RC4_IfcDocumentReference_type = new entity("IfcDocumentReference", false, 334, IFC4X3_RC4_IfcExternalReference_type); + IFC4X3_RC4_IfcEdge_type = new entity("IfcEdge", false, 368, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); + IFC4X3_RC4_IfcEdgeCurve_type = new entity("IfcEdgeCurve", false, 369, IFC4X3_RC4_IfcEdge_type); + IFC4X3_RC4_IfcEventTime_type = new entity("IfcEventTime", false, 423, IFC4X3_RC4_IfcSchedulingTime_type); + IFC4X3_RC4_IfcExtendedProperties_type = new entity("IfcExtendedProperties", true, 427, IFC4X3_RC4_IfcPropertyAbstraction_type); + IFC4X3_RC4_IfcExternalReferenceRelationship_type = new entity("IfcExternalReferenceRelationship", false, 433, IFC4X3_RC4_IfcResourceLevelRelationship_type); + IFC4X3_RC4_IfcFace_type = new entity("IfcFace", false, 439, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); + IFC4X3_RC4_IfcFaceBound_type = new entity("IfcFaceBound", false, 441, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); + IFC4X3_RC4_IfcFaceOuterBound_type = new entity("IfcFaceOuterBound", false, 442, IFC4X3_RC4_IfcFaceBound_type); + IFC4X3_RC4_IfcFaceSurface_type = new entity("IfcFaceSurface", false, 443, IFC4X3_RC4_IfcFace_type); + IFC4X3_RC4_IfcFailureConnectionCondition_type = new entity("IfcFailureConnectionCondition", false, 451, IFC4X3_RC4_IfcStructuralConnectionCondition_type); + IFC4X3_RC4_IfcFillAreaStyle_type = new entity("IfcFillAreaStyle", false, 461, IFC4X3_RC4_IfcPresentationStyle_type); + IFC4X3_RC4_IfcGeometricRepresentationContext_type = new entity("IfcGeometricRepresentationContext", false, 511, IFC4X3_RC4_IfcRepresentationContext_type); + IFC4X3_RC4_IfcGeometricRepresentationItem_type = new entity("IfcGeometricRepresentationItem", true, 512, IFC4X3_RC4_IfcRepresentationItem_type); + IFC4X3_RC4_IfcGeometricRepresentationSubContext_type = new entity("IfcGeometricRepresentationSubContext", false, 513, IFC4X3_RC4_IfcGeometricRepresentationContext_type); + IFC4X3_RC4_IfcGeometricSet_type = new entity("IfcGeometricSet", false, 514, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcGridPlacement_type = new entity("IfcGridPlacement", false, 526, IFC4X3_RC4_IfcObjectPlacement_type); + IFC4X3_RC4_IfcHalfSpaceSolid_type = new entity("IfcHalfSpaceSolid", false, 530, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcImageTexture_type = new entity("IfcImageTexture", false, 542, IFC4X3_RC4_IfcSurfaceTexture_type); + IFC4X3_RC4_IfcIndexedColourMap_type = new entity("IfcIndexedColourMap", false, 547, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcIndexedTextureMap_type = new entity("IfcIndexedTextureMap", true, 551, IFC4X3_RC4_IfcTextureCoordinate_type); + IFC4X3_RC4_IfcIndexedTriangleTextureMap_type = new entity("IfcIndexedTriangleTextureMap", false, 552, IFC4X3_RC4_IfcIndexedTextureMap_type); + IFC4X3_RC4_IfcIrregularTimeSeries_type = new entity("IfcIrregularTimeSeries", false, 565, IFC4X3_RC4_IfcTimeSeries_type); + IFC4X3_RC4_IfcLagTime_type = new entity("IfcLagTime", false, 580, IFC4X3_RC4_IfcSchedulingTime_type); + IFC4X3_RC4_IfcLightSource_type = new entity("IfcLightSource", true, 599, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcLightSourceAmbient_type = new entity("IfcLightSourceAmbient", false, 600, IFC4X3_RC4_IfcLightSource_type); + IFC4X3_RC4_IfcLightSourceDirectional_type = new entity("IfcLightSourceDirectional", false, 601, IFC4X3_RC4_IfcLightSource_type); + IFC4X3_RC4_IfcLightSourceGoniometric_type = new entity("IfcLightSourceGoniometric", false, 602, IFC4X3_RC4_IfcLightSource_type); + IFC4X3_RC4_IfcLightSourcePositional_type = new entity("IfcLightSourcePositional", false, 603, IFC4X3_RC4_IfcLightSource_type); + IFC4X3_RC4_IfcLightSourceSpot_type = new entity("IfcLightSourceSpot", false, 604, IFC4X3_RC4_IfcLightSourcePositional_type); + IFC4X3_RC4_IfcLinearPlacement_type = new entity("IfcLinearPlacement", false, 609, IFC4X3_RC4_IfcObjectPlacement_type); + IFC4X3_RC4_IfcLocalPlacement_type = new entity("IfcLocalPlacement", false, 618, IFC4X3_RC4_IfcObjectPlacement_type); + IFC4X3_RC4_IfcLoop_type = new entity("IfcLoop", false, 621, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); + IFC4X3_RC4_IfcMappedItem_type = new entity("IfcMappedItem", false, 630, IFC4X3_RC4_IfcRepresentationItem_type); + IFC4X3_RC4_IfcMaterial_type = new entity("IfcMaterial", false, 638, IFC4X3_RC4_IfcMaterialDefinition_type); + IFC4X3_RC4_IfcMaterialConstituent_type = new entity("IfcMaterialConstituent", false, 640, IFC4X3_RC4_IfcMaterialDefinition_type); + IFC4X3_RC4_IfcMaterialConstituentSet_type = new entity("IfcMaterialConstituentSet", false, 641, IFC4X3_RC4_IfcMaterialDefinition_type); + IFC4X3_RC4_IfcMaterialDefinitionRepresentation_type = new entity("IfcMaterialDefinitionRepresentation", false, 643, IFC4X3_RC4_IfcProductRepresentation_type); + IFC4X3_RC4_IfcMaterialLayerSetUsage_type = new entity("IfcMaterialLayerSetUsage", false, 646, IFC4X3_RC4_IfcMaterialUsageDefinition_type); + IFC4X3_RC4_IfcMaterialProfileSetUsage_type = new entity("IfcMaterialProfileSetUsage", false, 651, IFC4X3_RC4_IfcMaterialUsageDefinition_type); + IFC4X3_RC4_IfcMaterialProfileSetUsageTapering_type = new entity("IfcMaterialProfileSetUsageTapering", false, 652, IFC4X3_RC4_IfcMaterialProfileSetUsage_type); + IFC4X3_RC4_IfcMaterialProperties_type = new entity("IfcMaterialProperties", false, 654, IFC4X3_RC4_IfcExtendedProperties_type); + IFC4X3_RC4_IfcMaterialRelationship_type = new entity("IfcMaterialRelationship", false, 655, IFC4X3_RC4_IfcResourceLevelRelationship_type); + IFC4X3_RC4_IfcMirroredProfileDef_type = new entity("IfcMirroredProfileDef", false, 672, IFC4X3_RC4_IfcDerivedProfileDef_type); + IFC4X3_RC4_IfcObjectDefinition_type = new entity("IfcObjectDefinition", true, 703, IFC4X3_RC4_IfcRoot_type); + IFC4X3_RC4_IfcOpenCrossProfileDef_type = new entity("IfcOpenCrossProfileDef", false, 715, IFC4X3_RC4_IfcProfileDef_type); + IFC4X3_RC4_IfcOpenShell_type = new entity("IfcOpenShell", false, 719, IFC4X3_RC4_IfcConnectedFaceSet_type); + IFC4X3_RC4_IfcOrganizationRelationship_type = new entity("IfcOrganizationRelationship", false, 721, IFC4X3_RC4_IfcResourceLevelRelationship_type); + IFC4X3_RC4_IfcOrientedEdge_type = new entity("IfcOrientedEdge", false, 722, IFC4X3_RC4_IfcEdge_type); + IFC4X3_RC4_IfcParameterizedProfileDef_type = new entity("IfcParameterizedProfileDef", true, 728, IFC4X3_RC4_IfcProfileDef_type); + IFC4X3_RC4_IfcPath_type = new entity("IfcPath", false, 730, IFC4X3_RC4_IfcTopologicalRepresentationItem_type); + IFC4X3_RC4_IfcPhysicalComplexQuantity_type = new entity("IfcPhysicalComplexQuantity", false, 744, IFC4X3_RC4_IfcPhysicalQuantity_type); + IFC4X3_RC4_IfcPixelTexture_type = new entity("IfcPixelTexture", false, 758, IFC4X3_RC4_IfcSurfaceTexture_type); + IFC4X3_RC4_IfcPlacement_type = new entity("IfcPlacement", true, 759, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcPlanarExtent_type = new entity("IfcPlanarExtent", false, 761, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcPoint_type = new entity("IfcPoint", true, 770, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcPointByDistanceExpression_type = new entity("IfcPointByDistanceExpression", false, 771, IFC4X3_RC4_IfcPoint_type); + IFC4X3_RC4_IfcPointOnCurve_type = new entity("IfcPointOnCurve", false, 772, IFC4X3_RC4_IfcPoint_type); + IFC4X3_RC4_IfcPointOnSurface_type = new entity("IfcPointOnSurface", false, 773, IFC4X3_RC4_IfcPoint_type); + IFC4X3_RC4_IfcPolyLoop_type = new entity("IfcPolyLoop", false, 778, IFC4X3_RC4_IfcLoop_type); + IFC4X3_RC4_IfcPolygonalBoundedHalfSpace_type = new entity("IfcPolygonalBoundedHalfSpace", false, 775, IFC4X3_RC4_IfcHalfSpaceSolid_type); + IFC4X3_RC4_IfcPreDefinedItem_type = new entity("IfcPreDefinedItem", true, 790, IFC4X3_RC4_IfcPresentationItem_type); + IFC4X3_RC4_IfcPreDefinedProperties_type = new entity("IfcPreDefinedProperties", true, 791, IFC4X3_RC4_IfcPropertyAbstraction_type); + IFC4X3_RC4_IfcPreDefinedTextFont_type = new entity("IfcPreDefinedTextFont", true, 793, IFC4X3_RC4_IfcPreDefinedItem_type); + IFC4X3_RC4_IfcProductDefinitionShape_type = new entity("IfcProductDefinitionShape", false, 807, IFC4X3_RC4_IfcProductRepresentation_type); + IFC4X3_RC4_IfcProfileProperties_type = new entity("IfcProfileProperties", false, 812, IFC4X3_RC4_IfcExtendedProperties_type); + IFC4X3_RC4_IfcProperty_type = new entity("IfcProperty", true, 822, IFC4X3_RC4_IfcPropertyAbstraction_type); + IFC4X3_RC4_IfcPropertyDefinition_type = new entity("IfcPropertyDefinition", true, 825, IFC4X3_RC4_IfcRoot_type); + IFC4X3_RC4_IfcPropertyDependencyRelationship_type = new entity("IfcPropertyDependencyRelationship", false, 826, IFC4X3_RC4_IfcResourceLevelRelationship_type); + IFC4X3_RC4_IfcPropertySetDefinition_type = new entity("IfcPropertySetDefinition", true, 832, IFC4X3_RC4_IfcPropertyDefinition_type); + IFC4X3_RC4_IfcPropertyTemplateDefinition_type = new entity("IfcPropertyTemplateDefinition", true, 840, IFC4X3_RC4_IfcPropertyDefinition_type); + IFC4X3_RC4_IfcQuantitySet_type = new entity("IfcQuantitySet", true, 854, IFC4X3_RC4_IfcPropertySetDefinition_type); + IFC4X3_RC4_IfcRectangleProfileDef_type = new entity("IfcRectangleProfileDef", false, 879, IFC4X3_RC4_IfcParameterizedProfileDef_type); + IFC4X3_RC4_IfcRegularTimeSeries_type = new entity("IfcRegularTimeSeries", false, 888, IFC4X3_RC4_IfcTimeSeries_type); + IFC4X3_RC4_IfcReinforcementBarProperties_type = new entity("IfcReinforcementBarProperties", false, 891, IFC4X3_RC4_IfcPreDefinedProperties_type); + IFC4X3_RC4_IfcRelationship_type = new entity("IfcRelationship", true, 921, IFC4X3_RC4_IfcRoot_type); + IFC4X3_RC4_IfcResourceApprovalRelationship_type = new entity("IfcResourceApprovalRelationship", false, 960, IFC4X3_RC4_IfcResourceLevelRelationship_type); + IFC4X3_RC4_IfcResourceConstraintRelationship_type = new entity("IfcResourceConstraintRelationship", false, 961, IFC4X3_RC4_IfcResourceLevelRelationship_type); + IFC4X3_RC4_IfcResourceTime_type = new entity("IfcResourceTime", false, 965, IFC4X3_RC4_IfcSchedulingTime_type); + IFC4X3_RC4_IfcRoundedRectangleProfileDef_type = new entity("IfcRoundedRectangleProfileDef", false, 982, IFC4X3_RC4_IfcRectangleProfileDef_type); + IFC4X3_RC4_IfcSectionProperties_type = new entity("IfcSectionProperties", false, 995, IFC4X3_RC4_IfcPreDefinedProperties_type); + IFC4X3_RC4_IfcSectionReinforcementProperties_type = new entity("IfcSectionReinforcementProperties", false, 996, IFC4X3_RC4_IfcPreDefinedProperties_type); + IFC4X3_RC4_IfcSectionedSpine_type = new entity("IfcSectionedSpine", false, 992, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcSegment_type = new entity("IfcSegment", true, 998, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcShellBasedSurfaceModel_type = new entity("IfcShellBasedSurfaceModel", false, 1014, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcSimpleProperty_type = new entity("IfcSimpleProperty", true, 1021, IFC4X3_RC4_IfcProperty_type); + IFC4X3_RC4_IfcSlippageConnectionCondition_type = new entity("IfcSlippageConnectionCondition", false, 1036, IFC4X3_RC4_IfcStructuralConnectionCondition_type); + IFC4X3_RC4_IfcSolidModel_type = new entity("IfcSolidModel", true, 1041, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcStructuralLoadLinearForce_type = new entity("IfcStructuralLoadLinearForce", false, 1099, IFC4X3_RC4_IfcStructuralLoadStatic_type); + IFC4X3_RC4_IfcStructuralLoadPlanarForce_type = new entity("IfcStructuralLoadPlanarForce", false, 1101, IFC4X3_RC4_IfcStructuralLoadStatic_type); + IFC4X3_RC4_IfcStructuralLoadSingleDisplacement_type = new entity("IfcStructuralLoadSingleDisplacement", false, 1102, IFC4X3_RC4_IfcStructuralLoadStatic_type); + IFC4X3_RC4_IfcStructuralLoadSingleDisplacementDistortion_type = new entity("IfcStructuralLoadSingleDisplacementDistortion", false, 1103, IFC4X3_RC4_IfcStructuralLoadSingleDisplacement_type); + IFC4X3_RC4_IfcStructuralLoadSingleForce_type = new entity("IfcStructuralLoadSingleForce", false, 1104, IFC4X3_RC4_IfcStructuralLoadStatic_type); + IFC4X3_RC4_IfcStructuralLoadSingleForceWarping_type = new entity("IfcStructuralLoadSingleForceWarping", false, 1105, IFC4X3_RC4_IfcStructuralLoadSingleForce_type); + IFC4X3_RC4_IfcSubedge_type = new entity("IfcSubedge", false, 1128, IFC4X3_RC4_IfcEdge_type); + IFC4X3_RC4_IfcSurface_type = new entity("IfcSurface", true, 1129, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcSurfaceStyleRendering_type = new entity("IfcSurfaceStyleRendering", false, 1143, IFC4X3_RC4_IfcSurfaceStyleShading_type); + IFC4X3_RC4_IfcSweptAreaSolid_type = new entity("IfcSweptAreaSolid", true, 1147, IFC4X3_RC4_IfcSolidModel_type); + IFC4X3_RC4_IfcSweptDiskSolid_type = new entity("IfcSweptDiskSolid", false, 1148, IFC4X3_RC4_IfcSolidModel_type); + IFC4X3_RC4_IfcSweptDiskSolidPolygonal_type = new entity("IfcSweptDiskSolidPolygonal", false, 1149, IFC4X3_RC4_IfcSweptDiskSolid_type); + IFC4X3_RC4_IfcSweptSurface_type = new entity("IfcSweptSurface", true, 1150, IFC4X3_RC4_IfcSurface_type); + IFC4X3_RC4_IfcTShapeProfileDef_type = new entity("IfcTShapeProfileDef", false, 1240, IFC4X3_RC4_IfcParameterizedProfileDef_type); + IFC4X3_RC4_IfcTessellatedItem_type = new entity("IfcTessellatedItem", true, 1183, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcTextLiteral_type = new entity("IfcTextLiteral", false, 1189, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcTextLiteralWithExtent_type = new entity("IfcTextLiteralWithExtent", false, 1190, IFC4X3_RC4_IfcTextLiteral_type); + IFC4X3_RC4_IfcTextStyleFontModel_type = new entity("IfcTextStyleFontModel", false, 1193, IFC4X3_RC4_IfcPreDefinedTextFont_type); + IFC4X3_RC4_IfcTrapeziumProfileDef_type = new entity("IfcTrapeziumProfileDef", false, 1234, IFC4X3_RC4_IfcParameterizedProfileDef_type); + IFC4X3_RC4_IfcTypeObject_type = new entity("IfcTypeObject", false, 1244, IFC4X3_RC4_IfcObjectDefinition_type); + IFC4X3_RC4_IfcTypeProcess_type = new entity("IfcTypeProcess", true, 1245, IFC4X3_RC4_IfcTypeObject_type); + IFC4X3_RC4_IfcTypeProduct_type = new entity("IfcTypeProduct", false, 1246, IFC4X3_RC4_IfcTypeObject_type); + IFC4X3_RC4_IfcTypeResource_type = new entity("IfcTypeResource", true, 1247, IFC4X3_RC4_IfcTypeObject_type); + IFC4X3_RC4_IfcUShapeProfileDef_type = new entity("IfcUShapeProfileDef", false, 1258, IFC4X3_RC4_IfcParameterizedProfileDef_type); + IFC4X3_RC4_IfcVector_type = new entity("IfcVector", false, 1264, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcVertexLoop_type = new entity("IfcVertexLoop", false, 1267, IFC4X3_RC4_IfcLoop_type); + IFC4X3_RC4_IfcWindowStyle_type = new entity("IfcWindowStyle", false, 1300, IFC4X3_RC4_IfcTypeProduct_type); + IFC4X3_RC4_IfcZShapeProfileDef_type = new entity("IfcZShapeProfileDef", false, 1315, IFC4X3_RC4_IfcParameterizedProfileDef_type); { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcClassification_type); @@ -6382,13 +6421,13 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcDocumentInformation_type); items.push_back(IFC4X3_RC4_IfcDocumentReference_type); - IFC4X3_RC4_IfcDocumentSelect_type = new select_type("IfcDocumentSelect", 336, items); + IFC4X3_RC4_IfcDocumentSelect_type = new select_type("IfcDocumentSelect", 335, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcPositiveLengthMeasure_type); items.push_back(IFC4X3_RC4_IfcVector_type); - IFC4X3_RC4_IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", 532, items); + IFC4X3_RC4_IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", 531, items); } { std::vector items; items.reserve(23); @@ -6415,21 +6454,21 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back(IFC4X3_RC4_IfcThermodynamicTemperatureMeasure_type); items.push_back(IFC4X3_RC4_IfcTimeMeasure_type); items.push_back(IFC4X3_RC4_IfcVolumeMeasure_type); - IFC4X3_RC4_IfcMeasureValue_type = new select_type("IfcMeasureValue", 660, items); + IFC4X3_RC4_IfcMeasureValue_type = new select_type("IfcMeasureValue", 658, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcPoint_type); items.push_back(IFC4X3_RC4_IfcVertexPoint_type); - IFC4X3_RC4_IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", 776, items); + IFC4X3_RC4_IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", 774, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcProductDefinitionShape_type); items.push_back(IFC4X3_RC4_IfcRepresentationMap_type); - IFC4X3_RC4_IfcProductRepresentationSelect_type = new select_type("IfcProductRepresentationSelect", 811, items); + IFC4X3_RC4_IfcProductRepresentationSelect_type = new select_type("IfcProductRepresentationSelect", 809, items); } - IFC4X3_RC4_IfcPropertySetDefinitionSet_type = new type_declaration("IfcPropertySetDefinitionSet", 836, new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC4_IfcPropertySetDefinition_type))); + IFC4X3_RC4_IfcPropertySetDefinitionSet_type = new type_declaration("IfcPropertySetDefinitionSet", 834, new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC4_IfcPropertySetDefinition_type))); { std::vector items; items.reserve(17); items.push_back(IFC4X3_RC4_IfcActorRole_type); @@ -6449,20 +6488,20 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back(IFC4X3_RC4_IfcPropertyAbstraction_type); items.push_back(IFC4X3_RC4_IfcShapeAspect_type); items.push_back(IFC4X3_RC4_IfcTimeSeries_type); - IFC4X3_RC4_IfcResourceObjectSelect_type = new select_type("IfcResourceObjectSelect", 964, items); + IFC4X3_RC4_IfcResourceObjectSelect_type = new select_type("IfcResourceObjectSelect", 963, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcExternallyDefinedTextFont_type); items.push_back(IFC4X3_RC4_IfcPreDefinedTextFont_type); - IFC4X3_RC4_IfcTextFontSelect_type = new select_type("IfcTextFontSelect", 1189, items); + IFC4X3_RC4_IfcTextFontSelect_type = new select_type("IfcTextFontSelect", 1188, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X3_RC4_IfcDerivedMeasureValue_type); items.push_back(IFC4X3_RC4_IfcMeasureValue_type); items.push_back(IFC4X3_RC4_IfcSimpleValue_type); - IFC4X3_RC4_IfcValue_type = new select_type("IfcValue", 1260, items); + IFC4X3_RC4_IfcValue_type = new select_type("IfcValue", 1259, items); } IFC4X3_RC4_IfcAdvancedFace_type = new entity("IfcAdvancedFace", false, 16, IFC4X3_RC4_IfcFaceSurface_type); IFC4X3_RC4_IfcAnnotationFillArea_type = new entity("IfcAnnotationFillArea", false, 47, IFC4X3_RC4_IfcGeometricRepresentationItem_type); @@ -6501,153 +6540,151 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcCurveSegment_type = new entity("IfcCurveSegment", false, 281, IFC4X3_RC4_IfcSegment_type); IFC4X3_RC4_IfcDirection_type = new entity("IfcDirection", false, 307, IFC4X3_RC4_IfcGeometricRepresentationItem_type); IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type = new entity("IfcDirectrixCurveSweptAreaSolid", true, 309, IFC4X3_RC4_IfcSweptAreaSolid_type); - IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type = new entity("IfcDirectrixDistanceSweptAreaSolid", true, 311, IFC4X3_RC4_IfcSweptAreaSolid_type); - IFC4X3_RC4_IfcDoorStyle_type = new entity("IfcDoorStyle", false, 344, IFC4X3_RC4_IfcTypeProduct_type); - IFC4X3_RC4_IfcEdgeLoop_type = new entity("IfcEdgeLoop", false, 371, IFC4X3_RC4_IfcLoop_type); - IFC4X3_RC4_IfcElementQuantity_type = new entity("IfcElementQuantity", false, 407, IFC4X3_RC4_IfcQuantitySet_type); - IFC4X3_RC4_IfcElementType_type = new entity("IfcElementType", true, 408, IFC4X3_RC4_IfcTypeProduct_type); - IFC4X3_RC4_IfcElementarySurface_type = new entity("IfcElementarySurface", true, 400, IFC4X3_RC4_IfcSurface_type); - IFC4X3_RC4_IfcEllipseProfileDef_type = new entity("IfcEllipseProfileDef", false, 410, IFC4X3_RC4_IfcParameterizedProfileDef_type); - IFC4X3_RC4_IfcEventType_type = new entity("IfcEventType", false, 426, IFC4X3_RC4_IfcTypeProcess_type); - IFC4X3_RC4_IfcExtrudedAreaSolid_type = new entity("IfcExtrudedAreaSolid", false, 438, IFC4X3_RC4_IfcSweptAreaSolid_type); - IFC4X3_RC4_IfcExtrudedAreaSolidTapered_type = new entity("IfcExtrudedAreaSolidTapered", false, 439, IFC4X3_RC4_IfcExtrudedAreaSolid_type); - IFC4X3_RC4_IfcFaceBasedSurfaceModel_type = new entity("IfcFaceBasedSurfaceModel", false, 441, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcFillAreaStyleHatching_type = new entity("IfcFillAreaStyleHatching", false, 463, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcFillAreaStyleTiles_type = new entity("IfcFillAreaStyleTiles", false, 464, IFC4X3_RC4_IfcGeometricRepresentationItem_type); - IFC4X3_RC4_IfcFixedReferenceSweptAreaSolid_type = new entity("IfcFixedReferenceSweptAreaSolid", false, 472, IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type); - IFC4X3_RC4_IfcFurnishingElementType_type = new entity("IfcFurnishingElementType", false, 503, IFC4X3_RC4_IfcElementType_type); - IFC4X3_RC4_IfcFurnitureType_type = new entity("IfcFurnitureType", false, 505, IFC4X3_RC4_IfcFurnishingElementType_type); - IFC4X3_RC4_IfcGeographicElementType_type = new entity("IfcGeographicElementType", false, 508, IFC4X3_RC4_IfcElementType_type); - IFC4X3_RC4_IfcGeometricCurveSet_type = new entity("IfcGeometricCurveSet", false, 510, IFC4X3_RC4_IfcGeometricSet_type); - IFC4X3_RC4_IfcIShapeProfileDef_type = new entity("IfcIShapeProfileDef", false, 569, IFC4X3_RC4_IfcParameterizedProfileDef_type); - IFC4X3_RC4_IfcInclinedReferenceSweptAreaSolid_type = new entity("IfcInclinedReferenceSweptAreaSolid", false, 548, IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type); - IFC4X3_RC4_IfcIndexedPolygonalFace_type = new entity("IfcIndexedPolygonalFace", false, 551, IFC4X3_RC4_IfcTessellatedItem_type); - IFC4X3_RC4_IfcIndexedPolygonalFaceWithVoids_type = new entity("IfcIndexedPolygonalFaceWithVoids", false, 552, IFC4X3_RC4_IfcIndexedPolygonalFace_type); - IFC4X3_RC4_IfcLShapeProfileDef_type = new entity("IfcLShapeProfileDef", false, 624, IFC4X3_RC4_IfcParameterizedProfileDef_type); - IFC4X3_RC4_IfcLaborResourceType_type = new entity("IfcLaborResourceType", false, 580, IFC4X3_RC4_IfcConstructionResourceType_type); - IFC4X3_RC4_IfcLine_type = new entity("IfcLine", false, 607, IFC4X3_RC4_IfcCurve_type); - IFC4X3_RC4_IfcManifoldSolidBrep_type = new entity("IfcManifoldSolidBrep", true, 630, IFC4X3_RC4_IfcSolidModel_type); - IFC4X3_RC4_IfcObject_type = new entity("IfcObject", true, 704, IFC4X3_RC4_IfcObjectDefinition_type); - IFC4X3_RC4_IfcOffsetCurve_type = new entity("IfcOffsetCurve", true, 713, IFC4X3_RC4_IfcCurve_type); - IFC4X3_RC4_IfcOffsetCurve2D_type = new entity("IfcOffsetCurve2D", false, 714, IFC4X3_RC4_IfcOffsetCurve_type); - IFC4X3_RC4_IfcOffsetCurve3D_type = new entity("IfcOffsetCurve3D", false, 715, IFC4X3_RC4_IfcOffsetCurve_type); - IFC4X3_RC4_IfcOffsetCurveByDistances_type = new entity("IfcOffsetCurveByDistances", false, 716, IFC4X3_RC4_IfcOffsetCurve_type); - IFC4X3_RC4_IfcPcurve_type = new entity("IfcPcurve", false, 736, IFC4X3_RC4_IfcCurve_type); - IFC4X3_RC4_IfcPlanarBox_type = new entity("IfcPlanarBox", false, 762, IFC4X3_RC4_IfcPlanarExtent_type); - IFC4X3_RC4_IfcPlane_type = new entity("IfcPlane", false, 765, IFC4X3_RC4_IfcElementarySurface_type); - IFC4X3_RC4_IfcPolynomialCurve_type = new entity("IfcPolynomialCurve", false, 781, IFC4X3_RC4_IfcCurve_type); - IFC4X3_RC4_IfcPreDefinedColour_type = new entity("IfcPreDefinedColour", true, 790, IFC4X3_RC4_IfcPreDefinedItem_type); - IFC4X3_RC4_IfcPreDefinedCurveFont_type = new entity("IfcPreDefinedCurveFont", true, 791, IFC4X3_RC4_IfcPreDefinedItem_type); - IFC4X3_RC4_IfcPreDefinedPropertySet_type = new entity("IfcPreDefinedPropertySet", true, 794, IFC4X3_RC4_IfcPropertySetDefinition_type); - IFC4X3_RC4_IfcProcedureType_type = new entity("IfcProcedureType", false, 804, IFC4X3_RC4_IfcTypeProcess_type); - IFC4X3_RC4_IfcProcess_type = new entity("IfcProcess", true, 806, IFC4X3_RC4_IfcObject_type); - IFC4X3_RC4_IfcProduct_type = new entity("IfcProduct", true, 808, IFC4X3_RC4_IfcObject_type); - IFC4X3_RC4_IfcProject_type = new entity("IfcProject", false, 816, IFC4X3_RC4_IfcContext_type); - IFC4X3_RC4_IfcProjectLibrary_type = new entity("IfcProjectLibrary", false, 821, IFC4X3_RC4_IfcContext_type); - IFC4X3_RC4_IfcPropertyBoundedValue_type = new entity("IfcPropertyBoundedValue", false, 826, IFC4X3_RC4_IfcSimpleProperty_type); - IFC4X3_RC4_IfcPropertyEnumeratedValue_type = new entity("IfcPropertyEnumeratedValue", false, 829, IFC4X3_RC4_IfcSimpleProperty_type); - IFC4X3_RC4_IfcPropertyListValue_type = new entity("IfcPropertyListValue", false, 831, IFC4X3_RC4_IfcSimpleProperty_type); - IFC4X3_RC4_IfcPropertyReferenceValue_type = new entity("IfcPropertyReferenceValue", false, 832, IFC4X3_RC4_IfcSimpleProperty_type); - IFC4X3_RC4_IfcPropertySet_type = new entity("IfcPropertySet", false, 833, IFC4X3_RC4_IfcPropertySetDefinition_type); - IFC4X3_RC4_IfcPropertySetTemplate_type = new entity("IfcPropertySetTemplate", false, 837, IFC4X3_RC4_IfcPropertyTemplateDefinition_type); - IFC4X3_RC4_IfcPropertySingleValue_type = new entity("IfcPropertySingleValue", false, 839, IFC4X3_RC4_IfcSimpleProperty_type); - IFC4X3_RC4_IfcPropertyTableValue_type = new entity("IfcPropertyTableValue", false, 840, IFC4X3_RC4_IfcSimpleProperty_type); - IFC4X3_RC4_IfcPropertyTemplate_type = new entity("IfcPropertyTemplate", true, 841, IFC4X3_RC4_IfcPropertyTemplateDefinition_type); - IFC4X3_RC4_IfcProxy_type = new entity("IfcProxy", false, 849, IFC4X3_RC4_IfcProduct_type); - IFC4X3_RC4_IfcRectangleHollowProfileDef_type = new entity("IfcRectangleHollowProfileDef", false, 880, IFC4X3_RC4_IfcRectangleProfileDef_type); - IFC4X3_RC4_IfcRectangularPyramid_type = new entity("IfcRectangularPyramid", false, 882, IFC4X3_RC4_IfcCsgPrimitive3D_type); - IFC4X3_RC4_IfcRectangularTrimmedSurface_type = new entity("IfcRectangularTrimmedSurface", false, 883, IFC4X3_RC4_IfcBoundedSurface_type); - IFC4X3_RC4_IfcReinforcementDefinitionProperties_type = new entity("IfcReinforcementDefinitionProperties", false, 894, IFC4X3_RC4_IfcPreDefinedPropertySet_type); - IFC4X3_RC4_IfcRelAssigns_type = new entity("IfcRelAssigns", true, 906, IFC4X3_RC4_IfcRelationship_type); - IFC4X3_RC4_IfcRelAssignsToActor_type = new entity("IfcRelAssignsToActor", false, 907, IFC4X3_RC4_IfcRelAssigns_type); - IFC4X3_RC4_IfcRelAssignsToControl_type = new entity("IfcRelAssignsToControl", false, 908, IFC4X3_RC4_IfcRelAssigns_type); - IFC4X3_RC4_IfcRelAssignsToGroup_type = new entity("IfcRelAssignsToGroup", false, 909, IFC4X3_RC4_IfcRelAssigns_type); - IFC4X3_RC4_IfcRelAssignsToGroupByFactor_type = new entity("IfcRelAssignsToGroupByFactor", false, 910, IFC4X3_RC4_IfcRelAssignsToGroup_type); - IFC4X3_RC4_IfcRelAssignsToProcess_type = new entity("IfcRelAssignsToProcess", false, 911, IFC4X3_RC4_IfcRelAssigns_type); - IFC4X3_RC4_IfcRelAssignsToProduct_type = new entity("IfcRelAssignsToProduct", false, 912, IFC4X3_RC4_IfcRelAssigns_type); - IFC4X3_RC4_IfcRelAssignsToResource_type = new entity("IfcRelAssignsToResource", false, 913, IFC4X3_RC4_IfcRelAssigns_type); - IFC4X3_RC4_IfcRelAssociates_type = new entity("IfcRelAssociates", true, 914, IFC4X3_RC4_IfcRelationship_type); - IFC4X3_RC4_IfcRelAssociatesApproval_type = new entity("IfcRelAssociatesApproval", false, 915, IFC4X3_RC4_IfcRelAssociates_type); - IFC4X3_RC4_IfcRelAssociatesClassification_type = new entity("IfcRelAssociatesClassification", false, 916, IFC4X3_RC4_IfcRelAssociates_type); - IFC4X3_RC4_IfcRelAssociatesConstraint_type = new entity("IfcRelAssociatesConstraint", false, 917, IFC4X3_RC4_IfcRelAssociates_type); - IFC4X3_RC4_IfcRelAssociatesDocument_type = new entity("IfcRelAssociatesDocument", false, 918, IFC4X3_RC4_IfcRelAssociates_type); - IFC4X3_RC4_IfcRelAssociatesLibrary_type = new entity("IfcRelAssociatesLibrary", false, 919, IFC4X3_RC4_IfcRelAssociates_type); - IFC4X3_RC4_IfcRelAssociatesMaterial_type = new entity("IfcRelAssociatesMaterial", false, 920, IFC4X3_RC4_IfcRelAssociates_type); - IFC4X3_RC4_IfcRelAssociatesProfileDef_type = new entity("IfcRelAssociatesProfileDef", false, 921, IFC4X3_RC4_IfcRelAssociates_type); - IFC4X3_RC4_IfcRelConnects_type = new entity("IfcRelConnects", true, 923, IFC4X3_RC4_IfcRelationship_type); - IFC4X3_RC4_IfcRelConnectsElements_type = new entity("IfcRelConnectsElements", false, 924, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelConnectsPathElements_type = new entity("IfcRelConnectsPathElements", false, 925, IFC4X3_RC4_IfcRelConnectsElements_type); - IFC4X3_RC4_IfcRelConnectsPortToElement_type = new entity("IfcRelConnectsPortToElement", false, 927, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelConnectsPorts_type = new entity("IfcRelConnectsPorts", false, 926, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelConnectsStructuralActivity_type = new entity("IfcRelConnectsStructuralActivity", false, 928, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelConnectsStructuralMember_type = new entity("IfcRelConnectsStructuralMember", false, 929, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelConnectsWithEccentricity_type = new entity("IfcRelConnectsWithEccentricity", false, 930, IFC4X3_RC4_IfcRelConnectsStructuralMember_type); - IFC4X3_RC4_IfcRelConnectsWithRealizingElements_type = new entity("IfcRelConnectsWithRealizingElements", false, 931, IFC4X3_RC4_IfcRelConnectsElements_type); - IFC4X3_RC4_IfcRelContainedInSpatialStructure_type = new entity("IfcRelContainedInSpatialStructure", false, 932, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelCoversBldgElements_type = new entity("IfcRelCoversBldgElements", false, 933, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelCoversSpaces_type = new entity("IfcRelCoversSpaces", false, 934, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelDeclares_type = new entity("IfcRelDeclares", false, 935, IFC4X3_RC4_IfcRelationship_type); - IFC4X3_RC4_IfcRelDecomposes_type = new entity("IfcRelDecomposes", true, 936, IFC4X3_RC4_IfcRelationship_type); - IFC4X3_RC4_IfcRelDefines_type = new entity("IfcRelDefines", true, 937, IFC4X3_RC4_IfcRelationship_type); - IFC4X3_RC4_IfcRelDefinesByObject_type = new entity("IfcRelDefinesByObject", false, 938, IFC4X3_RC4_IfcRelDefines_type); - IFC4X3_RC4_IfcRelDefinesByProperties_type = new entity("IfcRelDefinesByProperties", false, 939, IFC4X3_RC4_IfcRelDefines_type); - IFC4X3_RC4_IfcRelDefinesByTemplate_type = new entity("IfcRelDefinesByTemplate", false, 940, IFC4X3_RC4_IfcRelDefines_type); - IFC4X3_RC4_IfcRelDefinesByType_type = new entity("IfcRelDefinesByType", false, 941, IFC4X3_RC4_IfcRelDefines_type); - IFC4X3_RC4_IfcRelFillsElement_type = new entity("IfcRelFillsElement", false, 942, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelFlowControlElements_type = new entity("IfcRelFlowControlElements", false, 943, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelInterferesElements_type = new entity("IfcRelInterferesElements", false, 944, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelNests_type = new entity("IfcRelNests", false, 945, IFC4X3_RC4_IfcRelDecomposes_type); - IFC4X3_RC4_IfcRelPositions_type = new entity("IfcRelPositions", false, 946, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelProjectsElement_type = new entity("IfcRelProjectsElement", false, 947, IFC4X3_RC4_IfcRelDecomposes_type); - IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type = new entity("IfcRelReferencedInSpatialStructure", false, 948, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelSequence_type = new entity("IfcRelSequence", false, 949, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelServicesBuildings_type = new entity("IfcRelServicesBuildings", false, 950, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelSpaceBoundary_type = new entity("IfcRelSpaceBoundary", false, 951, IFC4X3_RC4_IfcRelConnects_type); - IFC4X3_RC4_IfcRelSpaceBoundary1stLevel_type = new entity("IfcRelSpaceBoundary1stLevel", false, 952, IFC4X3_RC4_IfcRelSpaceBoundary_type); - IFC4X3_RC4_IfcRelSpaceBoundary2ndLevel_type = new entity("IfcRelSpaceBoundary2ndLevel", false, 953, IFC4X3_RC4_IfcRelSpaceBoundary1stLevel_type); - IFC4X3_RC4_IfcRelVoidsElement_type = new entity("IfcRelVoidsElement", false, 954, IFC4X3_RC4_IfcRelDecomposes_type); - IFC4X3_RC4_IfcReparametrisedCompositeCurveSegment_type = new entity("IfcReparametrisedCompositeCurveSegment", false, 955, IFC4X3_RC4_IfcCompositeCurveSegment_type); - IFC4X3_RC4_IfcResource_type = new entity("IfcResource", true, 960, IFC4X3_RC4_IfcObject_type); - IFC4X3_RC4_IfcRevolvedAreaSolid_type = new entity("IfcRevolvedAreaSolid", false, 967, IFC4X3_RC4_IfcSweptAreaSolid_type); - IFC4X3_RC4_IfcRevolvedAreaSolidTapered_type = new entity("IfcRevolvedAreaSolidTapered", false, 968, IFC4X3_RC4_IfcRevolvedAreaSolid_type); - IFC4X3_RC4_IfcRightCircularCone_type = new entity("IfcRightCircularCone", false, 969, IFC4X3_RC4_IfcCsgPrimitive3D_type); - IFC4X3_RC4_IfcRightCircularCylinder_type = new entity("IfcRightCircularCylinder", false, 970, IFC4X3_RC4_IfcCsgPrimitive3D_type); - IFC4X3_RC4_IfcSectionedSolid_type = new entity("IfcSectionedSolid", true, 991, IFC4X3_RC4_IfcSolidModel_type); - IFC4X3_RC4_IfcSectionedSolidHorizontal_type = new entity("IfcSectionedSolidHorizontal", false, 992, IFC4X3_RC4_IfcSectionedSolid_type); - IFC4X3_RC4_IfcSectionedSurface_type = new entity("IfcSectionedSurface", false, 994, IFC4X3_RC4_IfcSurface_type); - IFC4X3_RC4_IfcSimplePropertyTemplate_type = new entity("IfcSimplePropertyTemplate", false, 1023, IFC4X3_RC4_IfcPropertyTemplate_type); - IFC4X3_RC4_IfcSpatialElement_type = new entity("IfcSpatialElement", true, 1056, IFC4X3_RC4_IfcProduct_type); - IFC4X3_RC4_IfcSpatialElementType_type = new entity("IfcSpatialElementType", true, 1057, IFC4X3_RC4_IfcTypeProduct_type); - IFC4X3_RC4_IfcSpatialStructureElement_type = new entity("IfcSpatialStructureElement", true, 1059, IFC4X3_RC4_IfcSpatialElement_type); - IFC4X3_RC4_IfcSpatialStructureElementType_type = new entity("IfcSpatialStructureElementType", true, 1060, IFC4X3_RC4_IfcSpatialElementType_type); - IFC4X3_RC4_IfcSpatialZone_type = new entity("IfcSpatialZone", false, 1061, IFC4X3_RC4_IfcSpatialElement_type); - IFC4X3_RC4_IfcSpatialZoneType_type = new entity("IfcSpatialZoneType", false, 1062, IFC4X3_RC4_IfcSpatialElementType_type); - IFC4X3_RC4_IfcSphere_type = new entity("IfcSphere", false, 1068, IFC4X3_RC4_IfcCsgPrimitive3D_type); - IFC4X3_RC4_IfcSphericalSurface_type = new entity("IfcSphericalSurface", false, 1069, IFC4X3_RC4_IfcElementarySurface_type); - IFC4X3_RC4_IfcSpiral_type = new entity("IfcSpiral", true, 1070, IFC4X3_RC4_IfcCurve_type); - IFC4X3_RC4_IfcStructuralActivity_type = new entity("IfcStructuralActivity", true, 1082, IFC4X3_RC4_IfcProduct_type); - IFC4X3_RC4_IfcStructuralItem_type = new entity("IfcStructuralItem", true, 1094, IFC4X3_RC4_IfcProduct_type); - IFC4X3_RC4_IfcStructuralMember_type = new entity("IfcStructuralMember", true, 1109, IFC4X3_RC4_IfcStructuralItem_type); - IFC4X3_RC4_IfcStructuralReaction_type = new entity("IfcStructuralReaction", true, 1114, IFC4X3_RC4_IfcStructuralActivity_type); - IFC4X3_RC4_IfcStructuralSurfaceMember_type = new entity("IfcStructuralSurfaceMember", false, 1119, IFC4X3_RC4_IfcStructuralMember_type); - IFC4X3_RC4_IfcStructuralSurfaceMemberVarying_type = new entity("IfcStructuralSurfaceMemberVarying", false, 1121, IFC4X3_RC4_IfcStructuralSurfaceMember_type); - IFC4X3_RC4_IfcStructuralSurfaceReaction_type = new entity("IfcStructuralSurfaceReaction", false, 1122, IFC4X3_RC4_IfcStructuralReaction_type); - IFC4X3_RC4_IfcSubContractResourceType_type = new entity("IfcSubContractResourceType", false, 1127, IFC4X3_RC4_IfcConstructionResourceType_type); - IFC4X3_RC4_IfcSurfaceCurve_type = new entity("IfcSurfaceCurve", false, 1131, IFC4X3_RC4_IfcCurve_type); - IFC4X3_RC4_IfcSurfaceCurveSweptAreaSolid_type = new entity("IfcSurfaceCurveSweptAreaSolid", false, 1132, IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type); - IFC4X3_RC4_IfcSurfaceOfLinearExtrusion_type = new entity("IfcSurfaceOfLinearExtrusion", false, 1135, IFC4X3_RC4_IfcSweptSurface_type); - IFC4X3_RC4_IfcSurfaceOfRevolution_type = new entity("IfcSurfaceOfRevolution", false, 1136, IFC4X3_RC4_IfcSweptSurface_type); - IFC4X3_RC4_IfcSystemFurnitureElementType_type = new entity("IfcSystemFurnitureElementType", false, 1157, IFC4X3_RC4_IfcFurnishingElementType_type); - IFC4X3_RC4_IfcTask_type = new entity("IfcTask", false, 1165, IFC4X3_RC4_IfcProcess_type); - IFC4X3_RC4_IfcTaskType_type = new entity("IfcTaskType", false, 1169, IFC4X3_RC4_IfcTypeProcess_type); - IFC4X3_RC4_IfcTessellatedFaceSet_type = new entity("IfcTessellatedFaceSet", true, 1183, IFC4X3_RC4_IfcTessellatedItem_type); - IFC4X3_RC4_IfcThirdOrderPolynomialSpiral_type = new entity("IfcThirdOrderPolynomialSpiral", false, 1209, IFC4X3_RC4_IfcSpiral_type); - IFC4X3_RC4_IfcToroidalSurface_type = new entity("IfcToroidalSurface", false, 1220, IFC4X3_RC4_IfcElementarySurface_type); - IFC4X3_RC4_IfcTransportElementType_type = new entity("IfcTransportElementType", false, 1233, IFC4X3_RC4_IfcElementType_type); - IFC4X3_RC4_IfcTriangulatedFaceSet_type = new entity("IfcTriangulatedFaceSet", false, 1236, IFC4X3_RC4_IfcTessellatedFaceSet_type); - IFC4X3_RC4_IfcTriangulatedIrregularNetwork_type = new entity("IfcTriangulatedIrregularNetwork", false, 1237, IFC4X3_RC4_IfcTriangulatedFaceSet_type); - IFC4X3_RC4_IfcWindowLiningProperties_type = new entity("IfcWindowLiningProperties", false, 1296, IFC4X3_RC4_IfcPreDefinedPropertySet_type); - IFC4X3_RC4_IfcWindowPanelProperties_type = new entity("IfcWindowPanelProperties", false, 1299, IFC4X3_RC4_IfcPreDefinedPropertySet_type); + IFC4X3_RC4_IfcDoorStyle_type = new entity("IfcDoorStyle", false, 343, IFC4X3_RC4_IfcTypeProduct_type); + IFC4X3_RC4_IfcEdgeLoop_type = new entity("IfcEdgeLoop", false, 370, IFC4X3_RC4_IfcLoop_type); + IFC4X3_RC4_IfcElementQuantity_type = new entity("IfcElementQuantity", false, 406, IFC4X3_RC4_IfcQuantitySet_type); + IFC4X3_RC4_IfcElementType_type = new entity("IfcElementType", true, 407, IFC4X3_RC4_IfcTypeProduct_type); + IFC4X3_RC4_IfcElementarySurface_type = new entity("IfcElementarySurface", true, 399, IFC4X3_RC4_IfcSurface_type); + IFC4X3_RC4_IfcEllipseProfileDef_type = new entity("IfcEllipseProfileDef", false, 409, IFC4X3_RC4_IfcParameterizedProfileDef_type); + IFC4X3_RC4_IfcEventType_type = new entity("IfcEventType", false, 425, IFC4X3_RC4_IfcTypeProcess_type); + IFC4X3_RC4_IfcExtrudedAreaSolid_type = new entity("IfcExtrudedAreaSolid", false, 437, IFC4X3_RC4_IfcSweptAreaSolid_type); + IFC4X3_RC4_IfcExtrudedAreaSolidTapered_type = new entity("IfcExtrudedAreaSolidTapered", false, 438, IFC4X3_RC4_IfcExtrudedAreaSolid_type); + IFC4X3_RC4_IfcFaceBasedSurfaceModel_type = new entity("IfcFaceBasedSurfaceModel", false, 440, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcFillAreaStyleHatching_type = new entity("IfcFillAreaStyleHatching", false, 462, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcFillAreaStyleTiles_type = new entity("IfcFillAreaStyleTiles", false, 463, IFC4X3_RC4_IfcGeometricRepresentationItem_type); + IFC4X3_RC4_IfcFixedReferenceSweptAreaSolid_type = new entity("IfcFixedReferenceSweptAreaSolid", false, 471, IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type); + IFC4X3_RC4_IfcFurnishingElementType_type = new entity("IfcFurnishingElementType", false, 502, IFC4X3_RC4_IfcElementType_type); + IFC4X3_RC4_IfcFurnitureType_type = new entity("IfcFurnitureType", false, 504, IFC4X3_RC4_IfcFurnishingElementType_type); + IFC4X3_RC4_IfcGeographicElementType_type = new entity("IfcGeographicElementType", false, 507, IFC4X3_RC4_IfcElementType_type); + IFC4X3_RC4_IfcGeometricCurveSet_type = new entity("IfcGeometricCurveSet", false, 509, IFC4X3_RC4_IfcGeometricSet_type); + IFC4X3_RC4_IfcIShapeProfileDef_type = new entity("IfcIShapeProfileDef", false, 567, IFC4X3_RC4_IfcParameterizedProfileDef_type); + IFC4X3_RC4_IfcIndexedPolygonalFace_type = new entity("IfcIndexedPolygonalFace", false, 549, IFC4X3_RC4_IfcTessellatedItem_type); + IFC4X3_RC4_IfcIndexedPolygonalFaceWithVoids_type = new entity("IfcIndexedPolygonalFaceWithVoids", false, 550, IFC4X3_RC4_IfcIndexedPolygonalFace_type); + IFC4X3_RC4_IfcLShapeProfileDef_type = new entity("IfcLShapeProfileDef", false, 622, IFC4X3_RC4_IfcParameterizedProfileDef_type); + IFC4X3_RC4_IfcLaborResourceType_type = new entity("IfcLaborResourceType", false, 578, IFC4X3_RC4_IfcConstructionResourceType_type); + IFC4X3_RC4_IfcLine_type = new entity("IfcLine", false, 605, IFC4X3_RC4_IfcCurve_type); + IFC4X3_RC4_IfcManifoldSolidBrep_type = new entity("IfcManifoldSolidBrep", true, 628, IFC4X3_RC4_IfcSolidModel_type); + IFC4X3_RC4_IfcObject_type = new entity("IfcObject", true, 702, IFC4X3_RC4_IfcObjectDefinition_type); + IFC4X3_RC4_IfcOffsetCurve_type = new entity("IfcOffsetCurve", true, 711, IFC4X3_RC4_IfcCurve_type); + IFC4X3_RC4_IfcOffsetCurve2D_type = new entity("IfcOffsetCurve2D", false, 712, IFC4X3_RC4_IfcOffsetCurve_type); + IFC4X3_RC4_IfcOffsetCurve3D_type = new entity("IfcOffsetCurve3D", false, 713, IFC4X3_RC4_IfcOffsetCurve_type); + IFC4X3_RC4_IfcOffsetCurveByDistances_type = new entity("IfcOffsetCurveByDistances", false, 714, IFC4X3_RC4_IfcOffsetCurve_type); + IFC4X3_RC4_IfcPcurve_type = new entity("IfcPcurve", false, 734, IFC4X3_RC4_IfcCurve_type); + IFC4X3_RC4_IfcPlanarBox_type = new entity("IfcPlanarBox", false, 760, IFC4X3_RC4_IfcPlanarExtent_type); + IFC4X3_RC4_IfcPlane_type = new entity("IfcPlane", false, 763, IFC4X3_RC4_IfcElementarySurface_type); + IFC4X3_RC4_IfcPolynomialCurve_type = new entity("IfcPolynomialCurve", false, 779, IFC4X3_RC4_IfcCurve_type); + IFC4X3_RC4_IfcPreDefinedColour_type = new entity("IfcPreDefinedColour", true, 788, IFC4X3_RC4_IfcPreDefinedItem_type); + IFC4X3_RC4_IfcPreDefinedCurveFont_type = new entity("IfcPreDefinedCurveFont", true, 789, IFC4X3_RC4_IfcPreDefinedItem_type); + IFC4X3_RC4_IfcPreDefinedPropertySet_type = new entity("IfcPreDefinedPropertySet", true, 792, IFC4X3_RC4_IfcPropertySetDefinition_type); + IFC4X3_RC4_IfcProcedureType_type = new entity("IfcProcedureType", false, 802, IFC4X3_RC4_IfcTypeProcess_type); + IFC4X3_RC4_IfcProcess_type = new entity("IfcProcess", true, 804, IFC4X3_RC4_IfcObject_type); + IFC4X3_RC4_IfcProduct_type = new entity("IfcProduct", true, 806, IFC4X3_RC4_IfcObject_type); + IFC4X3_RC4_IfcProject_type = new entity("IfcProject", false, 814, IFC4X3_RC4_IfcContext_type); + IFC4X3_RC4_IfcProjectLibrary_type = new entity("IfcProjectLibrary", false, 819, IFC4X3_RC4_IfcContext_type); + IFC4X3_RC4_IfcPropertyBoundedValue_type = new entity("IfcPropertyBoundedValue", false, 824, IFC4X3_RC4_IfcSimpleProperty_type); + IFC4X3_RC4_IfcPropertyEnumeratedValue_type = new entity("IfcPropertyEnumeratedValue", false, 827, IFC4X3_RC4_IfcSimpleProperty_type); + IFC4X3_RC4_IfcPropertyListValue_type = new entity("IfcPropertyListValue", false, 829, IFC4X3_RC4_IfcSimpleProperty_type); + IFC4X3_RC4_IfcPropertyReferenceValue_type = new entity("IfcPropertyReferenceValue", false, 830, IFC4X3_RC4_IfcSimpleProperty_type); + IFC4X3_RC4_IfcPropertySet_type = new entity("IfcPropertySet", false, 831, IFC4X3_RC4_IfcPropertySetDefinition_type); + IFC4X3_RC4_IfcPropertySetTemplate_type = new entity("IfcPropertySetTemplate", false, 835, IFC4X3_RC4_IfcPropertyTemplateDefinition_type); + IFC4X3_RC4_IfcPropertySingleValue_type = new entity("IfcPropertySingleValue", false, 837, IFC4X3_RC4_IfcSimpleProperty_type); + IFC4X3_RC4_IfcPropertyTableValue_type = new entity("IfcPropertyTableValue", false, 838, IFC4X3_RC4_IfcSimpleProperty_type); + IFC4X3_RC4_IfcPropertyTemplate_type = new entity("IfcPropertyTemplate", true, 839, IFC4X3_RC4_IfcPropertyTemplateDefinition_type); + IFC4X3_RC4_IfcProxy_type = new entity("IfcProxy", false, 847, IFC4X3_RC4_IfcProduct_type); + IFC4X3_RC4_IfcRectangleHollowProfileDef_type = new entity("IfcRectangleHollowProfileDef", false, 878, IFC4X3_RC4_IfcRectangleProfileDef_type); + IFC4X3_RC4_IfcRectangularPyramid_type = new entity("IfcRectangularPyramid", false, 880, IFC4X3_RC4_IfcCsgPrimitive3D_type); + IFC4X3_RC4_IfcRectangularTrimmedSurface_type = new entity("IfcRectangularTrimmedSurface", false, 881, IFC4X3_RC4_IfcBoundedSurface_type); + IFC4X3_RC4_IfcReinforcementDefinitionProperties_type = new entity("IfcReinforcementDefinitionProperties", false, 892, IFC4X3_RC4_IfcPreDefinedPropertySet_type); + IFC4X3_RC4_IfcRelAssigns_type = new entity("IfcRelAssigns", true, 905, IFC4X3_RC4_IfcRelationship_type); + IFC4X3_RC4_IfcRelAssignsToActor_type = new entity("IfcRelAssignsToActor", false, 906, IFC4X3_RC4_IfcRelAssigns_type); + IFC4X3_RC4_IfcRelAssignsToControl_type = new entity("IfcRelAssignsToControl", false, 907, IFC4X3_RC4_IfcRelAssigns_type); + IFC4X3_RC4_IfcRelAssignsToGroup_type = new entity("IfcRelAssignsToGroup", false, 908, IFC4X3_RC4_IfcRelAssigns_type); + IFC4X3_RC4_IfcRelAssignsToGroupByFactor_type = new entity("IfcRelAssignsToGroupByFactor", false, 909, IFC4X3_RC4_IfcRelAssignsToGroup_type); + IFC4X3_RC4_IfcRelAssignsToProcess_type = new entity("IfcRelAssignsToProcess", false, 910, IFC4X3_RC4_IfcRelAssigns_type); + IFC4X3_RC4_IfcRelAssignsToProduct_type = new entity("IfcRelAssignsToProduct", false, 911, IFC4X3_RC4_IfcRelAssigns_type); + IFC4X3_RC4_IfcRelAssignsToResource_type = new entity("IfcRelAssignsToResource", false, 912, IFC4X3_RC4_IfcRelAssigns_type); + IFC4X3_RC4_IfcRelAssociates_type = new entity("IfcRelAssociates", true, 913, IFC4X3_RC4_IfcRelationship_type); + IFC4X3_RC4_IfcRelAssociatesApproval_type = new entity("IfcRelAssociatesApproval", false, 914, IFC4X3_RC4_IfcRelAssociates_type); + IFC4X3_RC4_IfcRelAssociatesClassification_type = new entity("IfcRelAssociatesClassification", false, 915, IFC4X3_RC4_IfcRelAssociates_type); + IFC4X3_RC4_IfcRelAssociatesConstraint_type = new entity("IfcRelAssociatesConstraint", false, 916, IFC4X3_RC4_IfcRelAssociates_type); + IFC4X3_RC4_IfcRelAssociatesDocument_type = new entity("IfcRelAssociatesDocument", false, 917, IFC4X3_RC4_IfcRelAssociates_type); + IFC4X3_RC4_IfcRelAssociatesLibrary_type = new entity("IfcRelAssociatesLibrary", false, 918, IFC4X3_RC4_IfcRelAssociates_type); + IFC4X3_RC4_IfcRelAssociatesMaterial_type = new entity("IfcRelAssociatesMaterial", false, 919, IFC4X3_RC4_IfcRelAssociates_type); + IFC4X3_RC4_IfcRelAssociatesProfileDef_type = new entity("IfcRelAssociatesProfileDef", false, 920, IFC4X3_RC4_IfcRelAssociates_type); + IFC4X3_RC4_IfcRelConnects_type = new entity("IfcRelConnects", true, 922, IFC4X3_RC4_IfcRelationship_type); + IFC4X3_RC4_IfcRelConnectsElements_type = new entity("IfcRelConnectsElements", false, 923, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelConnectsPathElements_type = new entity("IfcRelConnectsPathElements", false, 924, IFC4X3_RC4_IfcRelConnectsElements_type); + IFC4X3_RC4_IfcRelConnectsPortToElement_type = new entity("IfcRelConnectsPortToElement", false, 926, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelConnectsPorts_type = new entity("IfcRelConnectsPorts", false, 925, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelConnectsStructuralActivity_type = new entity("IfcRelConnectsStructuralActivity", false, 927, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelConnectsStructuralMember_type = new entity("IfcRelConnectsStructuralMember", false, 928, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelConnectsWithEccentricity_type = new entity("IfcRelConnectsWithEccentricity", false, 929, IFC4X3_RC4_IfcRelConnectsStructuralMember_type); + IFC4X3_RC4_IfcRelConnectsWithRealizingElements_type = new entity("IfcRelConnectsWithRealizingElements", false, 930, IFC4X3_RC4_IfcRelConnectsElements_type); + IFC4X3_RC4_IfcRelContainedInSpatialStructure_type = new entity("IfcRelContainedInSpatialStructure", false, 931, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelCoversBldgElements_type = new entity("IfcRelCoversBldgElements", false, 932, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelCoversSpaces_type = new entity("IfcRelCoversSpaces", false, 933, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelDeclares_type = new entity("IfcRelDeclares", false, 934, IFC4X3_RC4_IfcRelationship_type); + IFC4X3_RC4_IfcRelDecomposes_type = new entity("IfcRelDecomposes", true, 935, IFC4X3_RC4_IfcRelationship_type); + IFC4X3_RC4_IfcRelDefines_type = new entity("IfcRelDefines", true, 936, IFC4X3_RC4_IfcRelationship_type); + IFC4X3_RC4_IfcRelDefinesByObject_type = new entity("IfcRelDefinesByObject", false, 937, IFC4X3_RC4_IfcRelDefines_type); + IFC4X3_RC4_IfcRelDefinesByProperties_type = new entity("IfcRelDefinesByProperties", false, 938, IFC4X3_RC4_IfcRelDefines_type); + IFC4X3_RC4_IfcRelDefinesByTemplate_type = new entity("IfcRelDefinesByTemplate", false, 939, IFC4X3_RC4_IfcRelDefines_type); + IFC4X3_RC4_IfcRelDefinesByType_type = new entity("IfcRelDefinesByType", false, 940, IFC4X3_RC4_IfcRelDefines_type); + IFC4X3_RC4_IfcRelFillsElement_type = new entity("IfcRelFillsElement", false, 941, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelFlowControlElements_type = new entity("IfcRelFlowControlElements", false, 942, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelInterferesElements_type = new entity("IfcRelInterferesElements", false, 943, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelNests_type = new entity("IfcRelNests", false, 944, IFC4X3_RC4_IfcRelDecomposes_type); + IFC4X3_RC4_IfcRelPositions_type = new entity("IfcRelPositions", false, 945, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelProjectsElement_type = new entity("IfcRelProjectsElement", false, 946, IFC4X3_RC4_IfcRelDecomposes_type); + IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type = new entity("IfcRelReferencedInSpatialStructure", false, 947, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelSequence_type = new entity("IfcRelSequence", false, 948, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelServicesBuildings_type = new entity("IfcRelServicesBuildings", false, 949, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelSpaceBoundary_type = new entity("IfcRelSpaceBoundary", false, 950, IFC4X3_RC4_IfcRelConnects_type); + IFC4X3_RC4_IfcRelSpaceBoundary1stLevel_type = new entity("IfcRelSpaceBoundary1stLevel", false, 951, IFC4X3_RC4_IfcRelSpaceBoundary_type); + IFC4X3_RC4_IfcRelSpaceBoundary2ndLevel_type = new entity("IfcRelSpaceBoundary2ndLevel", false, 952, IFC4X3_RC4_IfcRelSpaceBoundary1stLevel_type); + IFC4X3_RC4_IfcRelVoidsElement_type = new entity("IfcRelVoidsElement", false, 953, IFC4X3_RC4_IfcRelDecomposes_type); + IFC4X3_RC4_IfcReparametrisedCompositeCurveSegment_type = new entity("IfcReparametrisedCompositeCurveSegment", false, 954, IFC4X3_RC4_IfcCompositeCurveSegment_type); + IFC4X3_RC4_IfcResource_type = new entity("IfcResource", true, 959, IFC4X3_RC4_IfcObject_type); + IFC4X3_RC4_IfcRevolvedAreaSolid_type = new entity("IfcRevolvedAreaSolid", false, 966, IFC4X3_RC4_IfcSweptAreaSolid_type); + IFC4X3_RC4_IfcRevolvedAreaSolidTapered_type = new entity("IfcRevolvedAreaSolidTapered", false, 967, IFC4X3_RC4_IfcRevolvedAreaSolid_type); + IFC4X3_RC4_IfcRightCircularCone_type = new entity("IfcRightCircularCone", false, 968, IFC4X3_RC4_IfcCsgPrimitive3D_type); + IFC4X3_RC4_IfcRightCircularCylinder_type = new entity("IfcRightCircularCylinder", false, 969, IFC4X3_RC4_IfcCsgPrimitive3D_type); + IFC4X3_RC4_IfcSectionedSolid_type = new entity("IfcSectionedSolid", true, 990, IFC4X3_RC4_IfcSolidModel_type); + IFC4X3_RC4_IfcSectionedSolidHorizontal_type = new entity("IfcSectionedSolidHorizontal", false, 991, IFC4X3_RC4_IfcSectionedSolid_type); + IFC4X3_RC4_IfcSectionedSurface_type = new entity("IfcSectionedSurface", false, 993, IFC4X3_RC4_IfcSurface_type); + IFC4X3_RC4_IfcSimplePropertyTemplate_type = new entity("IfcSimplePropertyTemplate", false, 1022, IFC4X3_RC4_IfcPropertyTemplate_type); + IFC4X3_RC4_IfcSpatialElement_type = new entity("IfcSpatialElement", true, 1055, IFC4X3_RC4_IfcProduct_type); + IFC4X3_RC4_IfcSpatialElementType_type = new entity("IfcSpatialElementType", true, 1056, IFC4X3_RC4_IfcTypeProduct_type); + IFC4X3_RC4_IfcSpatialStructureElement_type = new entity("IfcSpatialStructureElement", true, 1058, IFC4X3_RC4_IfcSpatialElement_type); + IFC4X3_RC4_IfcSpatialStructureElementType_type = new entity("IfcSpatialStructureElementType", true, 1059, IFC4X3_RC4_IfcSpatialElementType_type); + IFC4X3_RC4_IfcSpatialZone_type = new entity("IfcSpatialZone", false, 1060, IFC4X3_RC4_IfcSpatialElement_type); + IFC4X3_RC4_IfcSpatialZoneType_type = new entity("IfcSpatialZoneType", false, 1061, IFC4X3_RC4_IfcSpatialElementType_type); + IFC4X3_RC4_IfcSphere_type = new entity("IfcSphere", false, 1067, IFC4X3_RC4_IfcCsgPrimitive3D_type); + IFC4X3_RC4_IfcSphericalSurface_type = new entity("IfcSphericalSurface", false, 1068, IFC4X3_RC4_IfcElementarySurface_type); + IFC4X3_RC4_IfcSpiral_type = new entity("IfcSpiral", true, 1069, IFC4X3_RC4_IfcCurve_type); + IFC4X3_RC4_IfcStructuralActivity_type = new entity("IfcStructuralActivity", true, 1081, IFC4X3_RC4_IfcProduct_type); + IFC4X3_RC4_IfcStructuralItem_type = new entity("IfcStructuralItem", true, 1093, IFC4X3_RC4_IfcProduct_type); + IFC4X3_RC4_IfcStructuralMember_type = new entity("IfcStructuralMember", true, 1108, IFC4X3_RC4_IfcStructuralItem_type); + IFC4X3_RC4_IfcStructuralReaction_type = new entity("IfcStructuralReaction", true, 1113, IFC4X3_RC4_IfcStructuralActivity_type); + IFC4X3_RC4_IfcStructuralSurfaceMember_type = new entity("IfcStructuralSurfaceMember", false, 1118, IFC4X3_RC4_IfcStructuralMember_type); + IFC4X3_RC4_IfcStructuralSurfaceMemberVarying_type = new entity("IfcStructuralSurfaceMemberVarying", false, 1120, IFC4X3_RC4_IfcStructuralSurfaceMember_type); + IFC4X3_RC4_IfcStructuralSurfaceReaction_type = new entity("IfcStructuralSurfaceReaction", false, 1121, IFC4X3_RC4_IfcStructuralReaction_type); + IFC4X3_RC4_IfcSubContractResourceType_type = new entity("IfcSubContractResourceType", false, 1126, IFC4X3_RC4_IfcConstructionResourceType_type); + IFC4X3_RC4_IfcSurfaceCurve_type = new entity("IfcSurfaceCurve", false, 1130, IFC4X3_RC4_IfcCurve_type); + IFC4X3_RC4_IfcSurfaceCurveSweptAreaSolid_type = new entity("IfcSurfaceCurveSweptAreaSolid", false, 1131, IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type); + IFC4X3_RC4_IfcSurfaceOfLinearExtrusion_type = new entity("IfcSurfaceOfLinearExtrusion", false, 1134, IFC4X3_RC4_IfcSweptSurface_type); + IFC4X3_RC4_IfcSurfaceOfRevolution_type = new entity("IfcSurfaceOfRevolution", false, 1135, IFC4X3_RC4_IfcSweptSurface_type); + IFC4X3_RC4_IfcSystemFurnitureElementType_type = new entity("IfcSystemFurnitureElementType", false, 1156, IFC4X3_RC4_IfcFurnishingElementType_type); + IFC4X3_RC4_IfcTask_type = new entity("IfcTask", false, 1164, IFC4X3_RC4_IfcProcess_type); + IFC4X3_RC4_IfcTaskType_type = new entity("IfcTaskType", false, 1168, IFC4X3_RC4_IfcTypeProcess_type); + IFC4X3_RC4_IfcTessellatedFaceSet_type = new entity("IfcTessellatedFaceSet", true, 1182, IFC4X3_RC4_IfcTessellatedItem_type); + IFC4X3_RC4_IfcThirdOrderPolynomialSpiral_type = new entity("IfcThirdOrderPolynomialSpiral", false, 1208, IFC4X3_RC4_IfcSpiral_type); + IFC4X3_RC4_IfcToroidalSurface_type = new entity("IfcToroidalSurface", false, 1219, IFC4X3_RC4_IfcElementarySurface_type); + IFC4X3_RC4_IfcTransportElementType_type = new entity("IfcTransportElementType", false, 1232, IFC4X3_RC4_IfcElementType_type); + IFC4X3_RC4_IfcTriangulatedFaceSet_type = new entity("IfcTriangulatedFaceSet", false, 1235, IFC4X3_RC4_IfcTessellatedFaceSet_type); + IFC4X3_RC4_IfcTriangulatedIrregularNetwork_type = new entity("IfcTriangulatedIrregularNetwork", false, 1236, IFC4X3_RC4_IfcTriangulatedFaceSet_type); + IFC4X3_RC4_IfcWindowLiningProperties_type = new entity("IfcWindowLiningProperties", false, 1295, IFC4X3_RC4_IfcPreDefinedPropertySet_type); + IFC4X3_RC4_IfcWindowPanelProperties_type = new entity("IfcWindowPanelProperties", false, 1298, IFC4X3_RC4_IfcPreDefinedPropertySet_type); { std::vector items; items.reserve(3); items.push_back(IFC4X3_RC4_IfcMeasureWithUnit_type); @@ -6700,20 +6737,20 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back(IFC4X3_RC4_IfcExternallyDefinedHatchStyle_type); items.push_back(IFC4X3_RC4_IfcFillAreaStyleHatching_type); items.push_back(IFC4X3_RC4_IfcFillAreaStyleTiles_type); - IFC4X3_RC4_IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", 465, items); + IFC4X3_RC4_IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", 464, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X3_RC4_IfcCurve_type); items.push_back(IFC4X3_RC4_IfcPoint_type); items.push_back(IFC4X3_RC4_IfcSurface_type); - IFC4X3_RC4_IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", 516, items); + IFC4X3_RC4_IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", 515, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcDirection_type); items.push_back(IFC4X3_RC4_IfcVirtualGridIntersection_type); - IFC4X3_RC4_IfcGridPlacementDirectionSelect_type = new select_type("IfcGridPlacementDirectionSelect", 528, items); + IFC4X3_RC4_IfcGridPlacementDirectionSelect_type = new select_type("IfcGridPlacementDirectionSelect", 527, items); } { std::vector items; items.reserve(6); @@ -6723,62 +6760,62 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { items.push_back(IFC4X3_RC4_IfcTable_type); items.push_back(IFC4X3_RC4_IfcTimeSeries_type); items.push_back(IFC4X3_RC4_IfcValue_type); - IFC4X3_RC4_IfcMetricValueSelect_type = new select_type("IfcMetricValueSelect", 673, items); + IFC4X3_RC4_IfcMetricValueSelect_type = new select_type("IfcMetricValueSelect", 671, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcProcess_type); items.push_back(IFC4X3_RC4_IfcTypeProcess_type); - IFC4X3_RC4_IfcProcessSelect_type = new select_type("IfcProcessSelect", 807, items); + IFC4X3_RC4_IfcProcessSelect_type = new select_type("IfcProcessSelect", 805, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcProduct_type); items.push_back(IFC4X3_RC4_IfcTypeProduct_type); - IFC4X3_RC4_IfcProductSelect_type = new select_type("IfcProductSelect", 812, items); + IFC4X3_RC4_IfcProductSelect_type = new select_type("IfcProductSelect", 810, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcPropertySetDefinition_type); items.push_back(IFC4X3_RC4_IfcPropertySetDefinitionSet_type); - IFC4X3_RC4_IfcPropertySetDefinitionSelect_type = new select_type("IfcPropertySetDefinitionSelect", 835, items); + IFC4X3_RC4_IfcPropertySetDefinitionSelect_type = new select_type("IfcPropertySetDefinitionSelect", 833, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcResource_type); items.push_back(IFC4X3_RC4_IfcTypeResource_type); - IFC4X3_RC4_IfcResourceSelect_type = new select_type("IfcResourceSelect", 965, items); + IFC4X3_RC4_IfcResourceSelect_type = new select_type("IfcResourceSelect", 964, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcClosedShell_type); items.push_back(IFC4X3_RC4_IfcOpenShell_type); - IFC4X3_RC4_IfcShell_type = new select_type("IfcShell", 1014, items); + IFC4X3_RC4_IfcShell_type = new select_type("IfcShell", 1013, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcClosedShell_type); items.push_back(IFC4X3_RC4_IfcSolidModel_type); - IFC4X3_RC4_IfcSolidOrShell_type = new select_type("IfcSolidOrShell", 1043, items); + IFC4X3_RC4_IfcSolidOrShell_type = new select_type("IfcSolidOrShell", 1042, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X3_RC4_IfcFaceBasedSurfaceModel_type); items.push_back(IFC4X3_RC4_IfcFaceSurface_type); items.push_back(IFC4X3_RC4_IfcSurface_type); - IFC4X3_RC4_IfcSurfaceOrFaceSurface_type = new select_type("IfcSurfaceOrFaceSurface", 1137, items); + IFC4X3_RC4_IfcSurfaceOrFaceSurface_type = new select_type("IfcSurfaceOrFaceSurface", 1136, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcCartesianPoint_type); items.push_back(IFC4X3_RC4_IfcParameterValue_type); - IFC4X3_RC4_IfcTrimmingSelect_type = new select_type("IfcTrimmingSelect", 1240, items); + IFC4X3_RC4_IfcTrimmingSelect_type = new select_type("IfcTrimmingSelect", 1239, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcDirection_type); items.push_back(IFC4X3_RC4_IfcVector_type); - IFC4X3_RC4_IfcVectorOrDirection_type = new select_type("IfcVectorOrDirection", 1266, items); + IFC4X3_RC4_IfcVectorOrDirection_type = new select_type("IfcVectorOrDirection", 1265, items); } IFC4X3_RC4_IfcActor_type = new entity("IfcActor", false, 6, IFC4X3_RC4_IfcObject_type); IFC4X3_RC4_IfcAdvancedBrep_type = new entity("IfcAdvancedBrep", false, 14, IFC4X3_RC4_IfcManifoldSolidBrep_type); @@ -6815,180 +6852,181 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcCylindricalSurface_type = new entity("IfcCylindricalSurface", false, 287, IFC4X3_RC4_IfcElementarySurface_type); IFC4X3_RC4_IfcDeepFoundationType_type = new entity("IfcDeepFoundationType", false, 297, IFC4X3_RC4_IfcBuiltElementType_type); IFC4X3_RC4_IfcDirectrixDerivedReferenceSweptAreaSolid_type = new entity("IfcDirectrixDerivedReferenceSweptAreaSolid", false, 310, IFC4X3_RC4_IfcFixedReferenceSweptAreaSolid_type); - IFC4X3_RC4_IfcDistributionElementType_type = new entity("IfcDistributionElementType", false, 325, IFC4X3_RC4_IfcElementType_type); - IFC4X3_RC4_IfcDistributionFlowElementType_type = new entity("IfcDistributionFlowElementType", true, 327, IFC4X3_RC4_IfcDistributionElementType_type); - IFC4X3_RC4_IfcDoorLiningProperties_type = new entity("IfcDoorLiningProperties", false, 339, IFC4X3_RC4_IfcPreDefinedPropertySet_type); - IFC4X3_RC4_IfcDoorPanelProperties_type = new entity("IfcDoorPanelProperties", false, 342, IFC4X3_RC4_IfcPreDefinedPropertySet_type); - IFC4X3_RC4_IfcDoorType_type = new entity("IfcDoorType", false, 347, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcDraughtingPreDefinedColour_type = new entity("IfcDraughtingPreDefinedColour", false, 351, IFC4X3_RC4_IfcPreDefinedColour_type); - IFC4X3_RC4_IfcDraughtingPreDefinedCurveFont_type = new entity("IfcDraughtingPreDefinedCurveFont", false, 352, IFC4X3_RC4_IfcPreDefinedCurveFont_type); - IFC4X3_RC4_IfcElement_type = new entity("IfcElement", true, 399, IFC4X3_RC4_IfcProduct_type); - IFC4X3_RC4_IfcElementAssembly_type = new entity("IfcElementAssembly", false, 401, IFC4X3_RC4_IfcElement_type); - IFC4X3_RC4_IfcElementAssemblyType_type = new entity("IfcElementAssemblyType", false, 402, IFC4X3_RC4_IfcElementType_type); - IFC4X3_RC4_IfcElementComponent_type = new entity("IfcElementComponent", true, 404, IFC4X3_RC4_IfcElement_type); - IFC4X3_RC4_IfcElementComponentType_type = new entity("IfcElementComponentType", true, 405, IFC4X3_RC4_IfcElementType_type); - IFC4X3_RC4_IfcEllipse_type = new entity("IfcEllipse", false, 409, IFC4X3_RC4_IfcConic_type); - IFC4X3_RC4_IfcEnergyConversionDeviceType_type = new entity("IfcEnergyConversionDeviceType", true, 412, IFC4X3_RC4_IfcDistributionFlowElementType_type); - IFC4X3_RC4_IfcEngineType_type = new entity("IfcEngineType", false, 415, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcEvaporativeCoolerType_type = new entity("IfcEvaporativeCoolerType", false, 418, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcEvaporatorType_type = new entity("IfcEvaporatorType", false, 421, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcEvent_type = new entity("IfcEvent", false, 423, IFC4X3_RC4_IfcProcess_type); - IFC4X3_RC4_IfcExternalSpatialStructureElement_type = new entity("IfcExternalSpatialStructureElement", true, 437, IFC4X3_RC4_IfcSpatialElement_type); - IFC4X3_RC4_IfcFacetedBrep_type = new entity("IfcFacetedBrep", false, 445, IFC4X3_RC4_IfcManifoldSolidBrep_type); - IFC4X3_RC4_IfcFacetedBrepWithVoids_type = new entity("IfcFacetedBrepWithVoids", false, 446, IFC4X3_RC4_IfcFacetedBrep_type); - IFC4X3_RC4_IfcFacility_type = new entity("IfcFacility", false, 447, IFC4X3_RC4_IfcSpatialStructureElement_type); - IFC4X3_RC4_IfcFacilityPart_type = new entity("IfcFacilityPart", false, 448, IFC4X3_RC4_IfcSpatialStructureElement_type); - IFC4X3_RC4_IfcFastener_type = new entity("IfcFastener", false, 456, IFC4X3_RC4_IfcElementComponent_type); - IFC4X3_RC4_IfcFastenerType_type = new entity("IfcFastenerType", false, 457, IFC4X3_RC4_IfcElementComponentType_type); - IFC4X3_RC4_IfcFeatureElement_type = new entity("IfcFeatureElement", true, 459, IFC4X3_RC4_IfcElement_type); - IFC4X3_RC4_IfcFeatureElementAddition_type = new entity("IfcFeatureElementAddition", true, 460, IFC4X3_RC4_IfcFeatureElement_type); - IFC4X3_RC4_IfcFeatureElementSubtraction_type = new entity("IfcFeatureElementSubtraction", true, 461, IFC4X3_RC4_IfcFeatureElement_type); - IFC4X3_RC4_IfcFlowControllerType_type = new entity("IfcFlowControllerType", true, 474, IFC4X3_RC4_IfcDistributionFlowElementType_type); - IFC4X3_RC4_IfcFlowFittingType_type = new entity("IfcFlowFittingType", true, 477, IFC4X3_RC4_IfcDistributionFlowElementType_type); - IFC4X3_RC4_IfcFlowMeterType_type = new entity("IfcFlowMeterType", false, 482, IFC4X3_RC4_IfcFlowControllerType_type); - IFC4X3_RC4_IfcFlowMovingDeviceType_type = new entity("IfcFlowMovingDeviceType", true, 485, IFC4X3_RC4_IfcDistributionFlowElementType_type); - IFC4X3_RC4_IfcFlowSegmentType_type = new entity("IfcFlowSegmentType", true, 487, IFC4X3_RC4_IfcDistributionFlowElementType_type); - IFC4X3_RC4_IfcFlowStorageDeviceType_type = new entity("IfcFlowStorageDeviceType", true, 489, IFC4X3_RC4_IfcDistributionFlowElementType_type); - IFC4X3_RC4_IfcFlowTerminalType_type = new entity("IfcFlowTerminalType", true, 491, IFC4X3_RC4_IfcDistributionFlowElementType_type); - IFC4X3_RC4_IfcFlowTreatmentDeviceType_type = new entity("IfcFlowTreatmentDeviceType", true, 493, IFC4X3_RC4_IfcDistributionFlowElementType_type); - IFC4X3_RC4_IfcFootingType_type = new entity("IfcFootingType", false, 498, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcFurnishingElement_type = new entity("IfcFurnishingElement", false, 502, IFC4X3_RC4_IfcElement_type); - IFC4X3_RC4_IfcFurniture_type = new entity("IfcFurniture", false, 504, IFC4X3_RC4_IfcFurnishingElement_type); - IFC4X3_RC4_IfcGeographicElement_type = new entity("IfcGeographicElement", false, 507, IFC4X3_RC4_IfcElement_type); - IFC4X3_RC4_IfcGeotechnicalElement_type = new entity("IfcGeotechnicalElement", true, 520, IFC4X3_RC4_IfcElement_type); - IFC4X3_RC4_IfcGeotechnicalStratum_type = new entity("IfcGeotechnicalStratum", true, 521, IFC4X3_RC4_IfcGeotechnicalElement_type); - IFC4X3_RC4_IfcGradientCurve_type = new entity("IfcGradientCurve", false, 524, IFC4X3_RC4_IfcCompositeCurve_type); - IFC4X3_RC4_IfcGroup_type = new entity("IfcGroup", false, 530, IFC4X3_RC4_IfcObject_type); - IFC4X3_RC4_IfcHeatExchangerType_type = new entity("IfcHeatExchangerType", false, 534, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcHumidifierType_type = new entity("IfcHumidifierType", false, 539, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcImpactProtectionDevice_type = new entity("IfcImpactProtectionDevice", false, 544, IFC4X3_RC4_IfcElementComponent_type); - IFC4X3_RC4_IfcImpactProtectionDeviceType_type = new entity("IfcImpactProtectionDeviceType", false, 545, IFC4X3_RC4_IfcElementComponentType_type); - IFC4X3_RC4_IfcIndexedPolyCurve_type = new entity("IfcIndexedPolyCurve", false, 550, IFC4X3_RC4_IfcBoundedCurve_type); - IFC4X3_RC4_IfcInterceptorType_type = new entity("IfcInterceptorType", false, 559, IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); - IFC4X3_RC4_IfcIntersectionCurve_type = new entity("IfcIntersectionCurve", false, 563, IFC4X3_RC4_IfcSurfaceCurve_type); - IFC4X3_RC4_IfcInventory_type = new entity("IfcInventory", false, 564, IFC4X3_RC4_IfcGroup_type); - IFC4X3_RC4_IfcJunctionBoxType_type = new entity("IfcJunctionBoxType", false, 572, IFC4X3_RC4_IfcFlowFittingType_type); - IFC4X3_RC4_IfcKerbType_type = new entity("IfcKerbType", false, 575, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcLaborResource_type = new entity("IfcLaborResource", false, 579, IFC4X3_RC4_IfcConstructionResource_type); - IFC4X3_RC4_IfcLampType_type = new entity("IfcLampType", false, 584, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcLightFixtureType_type = new entity("IfcLightFixtureType", false, 598, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcLinearElement_type = new entity("IfcLinearElement", false, 608, IFC4X3_RC4_IfcProduct_type); - IFC4X3_RC4_IfcLiquidTerminalType_type = new entity("IfcLiquidTerminalType", false, 617, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcMarineFacility_type = new entity("IfcMarineFacility", false, 633, IFC4X3_RC4_IfcFacility_type); - IFC4X3_RC4_IfcMechanicalFastener_type = new entity("IfcMechanicalFastener", false, 662, IFC4X3_RC4_IfcElementComponent_type); - IFC4X3_RC4_IfcMechanicalFastenerType_type = new entity("IfcMechanicalFastenerType", false, 663, IFC4X3_RC4_IfcElementComponentType_type); - IFC4X3_RC4_IfcMedicalDeviceType_type = new entity("IfcMedicalDeviceType", false, 666, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcMemberType_type = new entity("IfcMemberType", false, 670, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcMobileTelecommunicationsApplianceType_type = new entity("IfcMobileTelecommunicationsApplianceType", false, 676, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcMooringDeviceType_type = new entity("IfcMooringDeviceType", false, 692, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcMotorConnectionType_type = new entity("IfcMotorConnectionType", false, 695, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcNavigationElementType_type = new entity("IfcNavigationElementType", false, 699, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcOccupant_type = new entity("IfcOccupant", false, 711, IFC4X3_RC4_IfcActor_type); - IFC4X3_RC4_IfcOpeningElement_type = new entity("IfcOpeningElement", false, 718, IFC4X3_RC4_IfcFeatureElementSubtraction_type); - IFC4X3_RC4_IfcOpeningStandardCase_type = new entity("IfcOpeningStandardCase", false, 720, IFC4X3_RC4_IfcOpeningElement_type); - IFC4X3_RC4_IfcOutletType_type = new entity("IfcOutletType", false, 727, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcPavementType_type = new entity("IfcPavementType", false, 734, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcPerformanceHistory_type = new entity("IfcPerformanceHistory", false, 737, IFC4X3_RC4_IfcControl_type); - IFC4X3_RC4_IfcPermeableCoveringProperties_type = new entity("IfcPermeableCoveringProperties", false, 740, IFC4X3_RC4_IfcPreDefinedPropertySet_type); - IFC4X3_RC4_IfcPermit_type = new entity("IfcPermit", false, 741, IFC4X3_RC4_IfcControl_type); - IFC4X3_RC4_IfcPileType_type = new entity("IfcPileType", false, 752, IFC4X3_RC4_IfcDeepFoundationType_type); - IFC4X3_RC4_IfcPipeFittingType_type = new entity("IfcPipeFittingType", false, 755, IFC4X3_RC4_IfcFlowFittingType_type); - IFC4X3_RC4_IfcPipeSegmentType_type = new entity("IfcPipeSegmentType", false, 758, IFC4X3_RC4_IfcFlowSegmentType_type); - IFC4X3_RC4_IfcPlant_type = new entity("IfcPlant", false, 767, IFC4X3_RC4_IfcGeographicElement_type); - IFC4X3_RC4_IfcPlateType_type = new entity("IfcPlateType", false, 770, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcPolygonalFaceSet_type = new entity("IfcPolygonalFaceSet", false, 778, IFC4X3_RC4_IfcTessellatedFaceSet_type); - IFC4X3_RC4_IfcPolyline_type = new entity("IfcPolyline", false, 779, IFC4X3_RC4_IfcBoundedCurve_type); - IFC4X3_RC4_IfcPort_type = new entity("IfcPort", true, 782, IFC4X3_RC4_IfcProduct_type); - IFC4X3_RC4_IfcPositioningElement_type = new entity("IfcPositioningElement", true, 783, IFC4X3_RC4_IfcProduct_type); - IFC4X3_RC4_IfcProcedure_type = new entity("IfcProcedure", false, 803, IFC4X3_RC4_IfcProcess_type); - IFC4X3_RC4_IfcProjectOrder_type = new entity("IfcProjectOrder", false, 822, IFC4X3_RC4_IfcControl_type); - IFC4X3_RC4_IfcProjectionElement_type = new entity("IfcProjectionElement", false, 819, IFC4X3_RC4_IfcFeatureElementAddition_type); - IFC4X3_RC4_IfcProtectiveDeviceType_type = new entity("IfcProtectiveDeviceType", false, 847, IFC4X3_RC4_IfcFlowControllerType_type); - IFC4X3_RC4_IfcPumpType_type = new entity("IfcPumpType", false, 851, IFC4X3_RC4_IfcFlowMovingDeviceType_type); - IFC4X3_RC4_IfcRailType_type = new entity("IfcRailType", false, 865, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcRailingType_type = new entity("IfcRailingType", false, 863, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcRailway_type = new entity("IfcRailway", false, 867, IFC4X3_RC4_IfcFacility_type); - IFC4X3_RC4_IfcRampFlightType_type = new entity("IfcRampFlightType", false, 872, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcRampType_type = new entity("IfcRampType", false, 874, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcRationalBSplineSurfaceWithKnots_type = new entity("IfcRationalBSplineSurfaceWithKnots", false, 878, IFC4X3_RC4_IfcBSplineSurfaceWithKnots_type); - IFC4X3_RC4_IfcReferent_type = new entity("IfcReferent", false, 887, IFC4X3_RC4_IfcPositioningElement_type); - IFC4X3_RC4_IfcReinforcingElement_type = new entity("IfcReinforcingElement", true, 900, IFC4X3_RC4_IfcElementComponent_type); - IFC4X3_RC4_IfcReinforcingElementType_type = new entity("IfcReinforcingElementType", true, 901, IFC4X3_RC4_IfcElementComponentType_type); - IFC4X3_RC4_IfcReinforcingMesh_type = new entity("IfcReinforcingMesh", false, 902, IFC4X3_RC4_IfcReinforcingElement_type); - IFC4X3_RC4_IfcReinforcingMeshType_type = new entity("IfcReinforcingMeshType", false, 903, IFC4X3_RC4_IfcReinforcingElementType_type); - IFC4X3_RC4_IfcRelAggregates_type = new entity("IfcRelAggregates", false, 905, IFC4X3_RC4_IfcRelDecomposes_type); - IFC4X3_RC4_IfcRoad_type = new entity("IfcRoad", false, 971, IFC4X3_RC4_IfcFacility_type); - IFC4X3_RC4_IfcRoofType_type = new entity("IfcRoofType", false, 976, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcSanitaryTerminalType_type = new entity("IfcSanitaryTerminalType", false, 985, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcSeamCurve_type = new entity("IfcSeamCurve", false, 988, IFC4X3_RC4_IfcSurfaceCurve_type); - IFC4X3_RC4_IfcSecondOrderPolynomialSpiral_type = new entity("IfcSecondOrderPolynomialSpiral", false, 989, IFC4X3_RC4_IfcSpiral_type); - IFC4X3_RC4_IfcSegmentedReferenceCurve_type = new entity("IfcSegmentedReferenceCurve", false, 1000, IFC4X3_RC4_IfcCompositeCurve_type); - IFC4X3_RC4_IfcSeventhOrderPolynomialSpiral_type = new entity("IfcSeventhOrderPolynomialSpiral", false, 1006, IFC4X3_RC4_IfcSpiral_type); - IFC4X3_RC4_IfcShadingDeviceType_type = new entity("IfcShadingDeviceType", false, 1008, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcSign_type = new entity("IfcSign", false, 1016, IFC4X3_RC4_IfcElementComponent_type); - IFC4X3_RC4_IfcSignType_type = new entity("IfcSignType", false, 1020, IFC4X3_RC4_IfcElementComponentType_type); - IFC4X3_RC4_IfcSignalType_type = new entity("IfcSignalType", false, 1018, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcSine_type = new entity("IfcSine", false, 1026, IFC4X3_RC4_IfcSpiral_type); - IFC4X3_RC4_IfcSite_type = new entity("IfcSite", false, 1028, IFC4X3_RC4_IfcSpatialStructureElement_type); - IFC4X3_RC4_IfcSlabType_type = new entity("IfcSlabType", false, 1035, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcSolarDeviceType_type = new entity("IfcSolarDeviceType", false, 1039, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcSolidStratum_type = new entity("IfcSolidStratum", false, 1044, IFC4X3_RC4_IfcGeotechnicalStratum_type); - IFC4X3_RC4_IfcSpace_type = new entity("IfcSpace", false, 1049, IFC4X3_RC4_IfcSpatialStructureElement_type); - IFC4X3_RC4_IfcSpaceHeaterType_type = new entity("IfcSpaceHeaterType", false, 1052, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcSpaceType_type = new entity("IfcSpaceType", false, 1054, IFC4X3_RC4_IfcSpatialStructureElementType_type); - IFC4X3_RC4_IfcStackTerminalType_type = new entity("IfcStackTerminalType", false, 1072, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcStairFlightType_type = new entity("IfcStairFlightType", false, 1076, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcStairType_type = new entity("IfcStairType", false, 1078, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcStructuralAction_type = new entity("IfcStructuralAction", true, 1081, IFC4X3_RC4_IfcStructuralActivity_type); - IFC4X3_RC4_IfcStructuralConnection_type = new entity("IfcStructuralConnection", true, 1085, IFC4X3_RC4_IfcStructuralItem_type); - IFC4X3_RC4_IfcStructuralCurveAction_type = new entity("IfcStructuralCurveAction", false, 1087, IFC4X3_RC4_IfcStructuralAction_type); - IFC4X3_RC4_IfcStructuralCurveConnection_type = new entity("IfcStructuralCurveConnection", false, 1089, IFC4X3_RC4_IfcStructuralConnection_type); - IFC4X3_RC4_IfcStructuralCurveMember_type = new entity("IfcStructuralCurveMember", false, 1090, IFC4X3_RC4_IfcStructuralMember_type); - IFC4X3_RC4_IfcStructuralCurveMemberVarying_type = new entity("IfcStructuralCurveMemberVarying", false, 1092, IFC4X3_RC4_IfcStructuralCurveMember_type); - IFC4X3_RC4_IfcStructuralCurveReaction_type = new entity("IfcStructuralCurveReaction", false, 1093, IFC4X3_RC4_IfcStructuralReaction_type); - IFC4X3_RC4_IfcStructuralLinearAction_type = new entity("IfcStructuralLinearAction", false, 1095, IFC4X3_RC4_IfcStructuralCurveAction_type); - IFC4X3_RC4_IfcStructuralLoadGroup_type = new entity("IfcStructuralLoadGroup", false, 1099, IFC4X3_RC4_IfcGroup_type); - IFC4X3_RC4_IfcStructuralPointAction_type = new entity("IfcStructuralPointAction", false, 1111, IFC4X3_RC4_IfcStructuralAction_type); - IFC4X3_RC4_IfcStructuralPointConnection_type = new entity("IfcStructuralPointConnection", false, 1112, IFC4X3_RC4_IfcStructuralConnection_type); - IFC4X3_RC4_IfcStructuralPointReaction_type = new entity("IfcStructuralPointReaction", false, 1113, IFC4X3_RC4_IfcStructuralReaction_type); - IFC4X3_RC4_IfcStructuralResultGroup_type = new entity("IfcStructuralResultGroup", false, 1115, IFC4X3_RC4_IfcGroup_type); - IFC4X3_RC4_IfcStructuralSurfaceAction_type = new entity("IfcStructuralSurfaceAction", false, 1116, IFC4X3_RC4_IfcStructuralAction_type); - IFC4X3_RC4_IfcStructuralSurfaceConnection_type = new entity("IfcStructuralSurfaceConnection", false, 1118, IFC4X3_RC4_IfcStructuralConnection_type); - IFC4X3_RC4_IfcSubContractResource_type = new entity("IfcSubContractResource", false, 1126, IFC4X3_RC4_IfcConstructionResource_type); - IFC4X3_RC4_IfcSurfaceFeature_type = new entity("IfcSurfaceFeature", false, 1133, IFC4X3_RC4_IfcFeatureElement_type); - IFC4X3_RC4_IfcSwitchingDeviceType_type = new entity("IfcSwitchingDeviceType", false, 1153, IFC4X3_RC4_IfcFlowControllerType_type); - IFC4X3_RC4_IfcSystem_type = new entity("IfcSystem", false, 1155, IFC4X3_RC4_IfcGroup_type); - IFC4X3_RC4_IfcSystemFurnitureElement_type = new entity("IfcSystemFurnitureElement", false, 1156, IFC4X3_RC4_IfcFurnishingElement_type); - IFC4X3_RC4_IfcTankType_type = new entity("IfcTankType", false, 1163, IFC4X3_RC4_IfcFlowStorageDeviceType_type); - IFC4X3_RC4_IfcTendon_type = new entity("IfcTendon", false, 1174, IFC4X3_RC4_IfcReinforcingElement_type); - IFC4X3_RC4_IfcTendonAnchor_type = new entity("IfcTendonAnchor", false, 1175, IFC4X3_RC4_IfcReinforcingElement_type); - IFC4X3_RC4_IfcTendonAnchorType_type = new entity("IfcTendonAnchorType", false, 1176, IFC4X3_RC4_IfcReinforcingElementType_type); - IFC4X3_RC4_IfcTendonConduit_type = new entity("IfcTendonConduit", false, 1178, IFC4X3_RC4_IfcReinforcingElement_type); - IFC4X3_RC4_IfcTendonConduitType_type = new entity("IfcTendonConduitType", false, 1179, IFC4X3_RC4_IfcReinforcingElementType_type); - IFC4X3_RC4_IfcTendonType_type = new entity("IfcTendonType", false, 1181, IFC4X3_RC4_IfcReinforcingElementType_type); - IFC4X3_RC4_IfcTrackElementType_type = new entity("IfcTrackElementType", false, 1223, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcTransformerType_type = new entity("IfcTransformerType", false, 1226, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcTransportElement_type = new entity("IfcTransportElement", false, 1230, IFC4X3_RC4_IfcElement_type); - IFC4X3_RC4_IfcTrimmedCurve_type = new entity("IfcTrimmedCurve", false, 1238, IFC4X3_RC4_IfcBoundedCurve_type); - IFC4X3_RC4_IfcTubeBundleType_type = new entity("IfcTubeBundleType", false, 1243, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcUnitaryEquipmentType_type = new entity("IfcUnitaryEquipmentType", false, 1254, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcValveType_type = new entity("IfcValveType", false, 1262, IFC4X3_RC4_IfcFlowControllerType_type); - IFC4X3_RC4_IfcVibrationDamper_type = new entity("IfcVibrationDamper", false, 1270, IFC4X3_RC4_IfcElementComponent_type); - IFC4X3_RC4_IfcVibrationDamperType_type = new entity("IfcVibrationDamperType", false, 1271, IFC4X3_RC4_IfcElementComponentType_type); - IFC4X3_RC4_IfcVibrationIsolator_type = new entity("IfcVibrationIsolator", false, 1273, IFC4X3_RC4_IfcElementComponent_type); - IFC4X3_RC4_IfcVibrationIsolatorType_type = new entity("IfcVibrationIsolatorType", false, 1274, IFC4X3_RC4_IfcElementComponentType_type); - IFC4X3_RC4_IfcVirtualElement_type = new entity("IfcVirtualElement", false, 1276, IFC4X3_RC4_IfcElement_type); - IFC4X3_RC4_IfcVoidStratum_type = new entity("IfcVoidStratum", false, 1280, IFC4X3_RC4_IfcGeotechnicalStratum_type); - IFC4X3_RC4_IfcVoidingFeature_type = new entity("IfcVoidingFeature", false, 1278, IFC4X3_RC4_IfcFeatureElementSubtraction_type); - IFC4X3_RC4_IfcWallType_type = new entity("IfcWallType", false, 1286, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcWasteTerminalType_type = new entity("IfcWasteTerminalType", false, 1292, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcWaterStratum_type = new entity("IfcWaterStratum", false, 1294, IFC4X3_RC4_IfcGeotechnicalStratum_type); - IFC4X3_RC4_IfcWindowType_type = new entity("IfcWindowType", false, 1304, IFC4X3_RC4_IfcBuiltElementType_type); - IFC4X3_RC4_IfcWorkCalendar_type = new entity("IfcWorkCalendar", false, 1307, IFC4X3_RC4_IfcControl_type); - IFC4X3_RC4_IfcWorkControl_type = new entity("IfcWorkControl", true, 1309, IFC4X3_RC4_IfcControl_type); - IFC4X3_RC4_IfcWorkPlan_type = new entity("IfcWorkPlan", false, 1310, IFC4X3_RC4_IfcWorkControl_type); - IFC4X3_RC4_IfcWorkSchedule_type = new entity("IfcWorkSchedule", false, 1312, IFC4X3_RC4_IfcWorkControl_type); - IFC4X3_RC4_IfcZone_type = new entity("IfcZone", false, 1315, IFC4X3_RC4_IfcSystem_type); + IFC4X3_RC4_IfcDistributionElementType_type = new entity("IfcDistributionElementType", false, 324, IFC4X3_RC4_IfcElementType_type); + IFC4X3_RC4_IfcDistributionFlowElementType_type = new entity("IfcDistributionFlowElementType", true, 326, IFC4X3_RC4_IfcDistributionElementType_type); + IFC4X3_RC4_IfcDoorLiningProperties_type = new entity("IfcDoorLiningProperties", false, 338, IFC4X3_RC4_IfcPreDefinedPropertySet_type); + IFC4X3_RC4_IfcDoorPanelProperties_type = new entity("IfcDoorPanelProperties", false, 341, IFC4X3_RC4_IfcPreDefinedPropertySet_type); + IFC4X3_RC4_IfcDoorType_type = new entity("IfcDoorType", false, 346, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcDraughtingPreDefinedColour_type = new entity("IfcDraughtingPreDefinedColour", false, 350, IFC4X3_RC4_IfcPreDefinedColour_type); + IFC4X3_RC4_IfcDraughtingPreDefinedCurveFont_type = new entity("IfcDraughtingPreDefinedCurveFont", false, 351, IFC4X3_RC4_IfcPreDefinedCurveFont_type); + IFC4X3_RC4_IfcElement_type = new entity("IfcElement", true, 398, IFC4X3_RC4_IfcProduct_type); + IFC4X3_RC4_IfcElementAssembly_type = new entity("IfcElementAssembly", false, 400, IFC4X3_RC4_IfcElement_type); + IFC4X3_RC4_IfcElementAssemblyType_type = new entity("IfcElementAssemblyType", false, 401, IFC4X3_RC4_IfcElementType_type); + IFC4X3_RC4_IfcElementComponent_type = new entity("IfcElementComponent", true, 403, IFC4X3_RC4_IfcElement_type); + IFC4X3_RC4_IfcElementComponentType_type = new entity("IfcElementComponentType", true, 404, IFC4X3_RC4_IfcElementType_type); + IFC4X3_RC4_IfcEllipse_type = new entity("IfcEllipse", false, 408, IFC4X3_RC4_IfcConic_type); + IFC4X3_RC4_IfcEnergyConversionDeviceType_type = new entity("IfcEnergyConversionDeviceType", true, 411, IFC4X3_RC4_IfcDistributionFlowElementType_type); + IFC4X3_RC4_IfcEngineType_type = new entity("IfcEngineType", false, 414, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcEvaporativeCoolerType_type = new entity("IfcEvaporativeCoolerType", false, 417, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcEvaporatorType_type = new entity("IfcEvaporatorType", false, 420, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcEvent_type = new entity("IfcEvent", false, 422, IFC4X3_RC4_IfcProcess_type); + IFC4X3_RC4_IfcExternalSpatialStructureElement_type = new entity("IfcExternalSpatialStructureElement", true, 436, IFC4X3_RC4_IfcSpatialElement_type); + IFC4X3_RC4_IfcFacetedBrep_type = new entity("IfcFacetedBrep", false, 444, IFC4X3_RC4_IfcManifoldSolidBrep_type); + IFC4X3_RC4_IfcFacetedBrepWithVoids_type = new entity("IfcFacetedBrepWithVoids", false, 445, IFC4X3_RC4_IfcFacetedBrep_type); + IFC4X3_RC4_IfcFacility_type = new entity("IfcFacility", false, 446, IFC4X3_RC4_IfcSpatialStructureElement_type); + IFC4X3_RC4_IfcFacilityPart_type = new entity("IfcFacilityPart", false, 447, IFC4X3_RC4_IfcSpatialStructureElement_type); + IFC4X3_RC4_IfcFastener_type = new entity("IfcFastener", false, 455, IFC4X3_RC4_IfcElementComponent_type); + IFC4X3_RC4_IfcFastenerType_type = new entity("IfcFastenerType", false, 456, IFC4X3_RC4_IfcElementComponentType_type); + IFC4X3_RC4_IfcFeatureElement_type = new entity("IfcFeatureElement", true, 458, IFC4X3_RC4_IfcElement_type); + IFC4X3_RC4_IfcFeatureElementAddition_type = new entity("IfcFeatureElementAddition", true, 459, IFC4X3_RC4_IfcFeatureElement_type); + IFC4X3_RC4_IfcFeatureElementSubtraction_type = new entity("IfcFeatureElementSubtraction", true, 460, IFC4X3_RC4_IfcFeatureElement_type); + IFC4X3_RC4_IfcFlowControllerType_type = new entity("IfcFlowControllerType", true, 473, IFC4X3_RC4_IfcDistributionFlowElementType_type); + IFC4X3_RC4_IfcFlowFittingType_type = new entity("IfcFlowFittingType", true, 476, IFC4X3_RC4_IfcDistributionFlowElementType_type); + IFC4X3_RC4_IfcFlowMeterType_type = new entity("IfcFlowMeterType", false, 481, IFC4X3_RC4_IfcFlowControllerType_type); + IFC4X3_RC4_IfcFlowMovingDeviceType_type = new entity("IfcFlowMovingDeviceType", true, 484, IFC4X3_RC4_IfcDistributionFlowElementType_type); + IFC4X3_RC4_IfcFlowSegmentType_type = new entity("IfcFlowSegmentType", true, 486, IFC4X3_RC4_IfcDistributionFlowElementType_type); + IFC4X3_RC4_IfcFlowStorageDeviceType_type = new entity("IfcFlowStorageDeviceType", true, 488, IFC4X3_RC4_IfcDistributionFlowElementType_type); + IFC4X3_RC4_IfcFlowTerminalType_type = new entity("IfcFlowTerminalType", true, 490, IFC4X3_RC4_IfcDistributionFlowElementType_type); + IFC4X3_RC4_IfcFlowTreatmentDeviceType_type = new entity("IfcFlowTreatmentDeviceType", true, 492, IFC4X3_RC4_IfcDistributionFlowElementType_type); + IFC4X3_RC4_IfcFootingType_type = new entity("IfcFootingType", false, 497, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcFurnishingElement_type = new entity("IfcFurnishingElement", false, 501, IFC4X3_RC4_IfcElement_type); + IFC4X3_RC4_IfcFurniture_type = new entity("IfcFurniture", false, 503, IFC4X3_RC4_IfcFurnishingElement_type); + IFC4X3_RC4_IfcGeographicElement_type = new entity("IfcGeographicElement", false, 506, IFC4X3_RC4_IfcElement_type); + IFC4X3_RC4_IfcGeotechnicalElement_type = new entity("IfcGeotechnicalElement", true, 519, IFC4X3_RC4_IfcElement_type); + IFC4X3_RC4_IfcGeotechnicalStratum_type = new entity("IfcGeotechnicalStratum", true, 520, IFC4X3_RC4_IfcGeotechnicalElement_type); + IFC4X3_RC4_IfcGradientCurve_type = new entity("IfcGradientCurve", false, 523, IFC4X3_RC4_IfcCompositeCurve_type); + IFC4X3_RC4_IfcGroup_type = new entity("IfcGroup", false, 529, IFC4X3_RC4_IfcObject_type); + IFC4X3_RC4_IfcHeatExchangerType_type = new entity("IfcHeatExchangerType", false, 533, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcHumidifierType_type = new entity("IfcHumidifierType", false, 538, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcImpactProtectionDevice_type = new entity("IfcImpactProtectionDevice", false, 543, IFC4X3_RC4_IfcElementComponent_type); + IFC4X3_RC4_IfcImpactProtectionDeviceType_type = new entity("IfcImpactProtectionDeviceType", false, 544, IFC4X3_RC4_IfcElementComponentType_type); + IFC4X3_RC4_IfcIndexedPolyCurve_type = new entity("IfcIndexedPolyCurve", false, 548, IFC4X3_RC4_IfcBoundedCurve_type); + IFC4X3_RC4_IfcInterceptorType_type = new entity("IfcInterceptorType", false, 557, IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); + IFC4X3_RC4_IfcIntersectionCurve_type = new entity("IfcIntersectionCurve", false, 561, IFC4X3_RC4_IfcSurfaceCurve_type); + IFC4X3_RC4_IfcInventory_type = new entity("IfcInventory", false, 562, IFC4X3_RC4_IfcGroup_type); + IFC4X3_RC4_IfcJunctionBoxType_type = new entity("IfcJunctionBoxType", false, 570, IFC4X3_RC4_IfcFlowFittingType_type); + IFC4X3_RC4_IfcKerbType_type = new entity("IfcKerbType", false, 573, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcLaborResource_type = new entity("IfcLaborResource", false, 577, IFC4X3_RC4_IfcConstructionResource_type); + IFC4X3_RC4_IfcLampType_type = new entity("IfcLampType", false, 582, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcLightFixtureType_type = new entity("IfcLightFixtureType", false, 596, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcLinearElement_type = new entity("IfcLinearElement", false, 606, IFC4X3_RC4_IfcProduct_type); + IFC4X3_RC4_IfcLiquidTerminalType_type = new entity("IfcLiquidTerminalType", false, 615, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcMarineFacility_type = new entity("IfcMarineFacility", false, 631, IFC4X3_RC4_IfcFacility_type); + IFC4X3_RC4_IfcMechanicalFastener_type = new entity("IfcMechanicalFastener", false, 660, IFC4X3_RC4_IfcElementComponent_type); + IFC4X3_RC4_IfcMechanicalFastenerType_type = new entity("IfcMechanicalFastenerType", false, 661, IFC4X3_RC4_IfcElementComponentType_type); + IFC4X3_RC4_IfcMedicalDeviceType_type = new entity("IfcMedicalDeviceType", false, 664, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcMemberType_type = new entity("IfcMemberType", false, 668, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcMobileTelecommunicationsApplianceType_type = new entity("IfcMobileTelecommunicationsApplianceType", false, 674, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcMooringDeviceType_type = new entity("IfcMooringDeviceType", false, 690, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcMotorConnectionType_type = new entity("IfcMotorConnectionType", false, 693, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcNavigationElementType_type = new entity("IfcNavigationElementType", false, 697, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcOccupant_type = new entity("IfcOccupant", false, 709, IFC4X3_RC4_IfcActor_type); + IFC4X3_RC4_IfcOpeningElement_type = new entity("IfcOpeningElement", false, 716, IFC4X3_RC4_IfcFeatureElementSubtraction_type); + IFC4X3_RC4_IfcOpeningStandardCase_type = new entity("IfcOpeningStandardCase", false, 718, IFC4X3_RC4_IfcOpeningElement_type); + IFC4X3_RC4_IfcOutletType_type = new entity("IfcOutletType", false, 725, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcPavementType_type = new entity("IfcPavementType", false, 732, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcPerformanceHistory_type = new entity("IfcPerformanceHistory", false, 735, IFC4X3_RC4_IfcControl_type); + IFC4X3_RC4_IfcPermeableCoveringProperties_type = new entity("IfcPermeableCoveringProperties", false, 738, IFC4X3_RC4_IfcPreDefinedPropertySet_type); + IFC4X3_RC4_IfcPermit_type = new entity("IfcPermit", false, 739, IFC4X3_RC4_IfcControl_type); + IFC4X3_RC4_IfcPileType_type = new entity("IfcPileType", false, 750, IFC4X3_RC4_IfcDeepFoundationType_type); + IFC4X3_RC4_IfcPipeFittingType_type = new entity("IfcPipeFittingType", false, 753, IFC4X3_RC4_IfcFlowFittingType_type); + IFC4X3_RC4_IfcPipeSegmentType_type = new entity("IfcPipeSegmentType", false, 756, IFC4X3_RC4_IfcFlowSegmentType_type); + IFC4X3_RC4_IfcPlant_type = new entity("IfcPlant", false, 765, IFC4X3_RC4_IfcGeographicElement_type); + IFC4X3_RC4_IfcPlateType_type = new entity("IfcPlateType", false, 768, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcPolygonalFaceSet_type = new entity("IfcPolygonalFaceSet", false, 776, IFC4X3_RC4_IfcTessellatedFaceSet_type); + IFC4X3_RC4_IfcPolyline_type = new entity("IfcPolyline", false, 777, IFC4X3_RC4_IfcBoundedCurve_type); + IFC4X3_RC4_IfcPort_type = new entity("IfcPort", true, 780, IFC4X3_RC4_IfcProduct_type); + IFC4X3_RC4_IfcPositioningElement_type = new entity("IfcPositioningElement", true, 781, IFC4X3_RC4_IfcProduct_type); + IFC4X3_RC4_IfcProcedure_type = new entity("IfcProcedure", false, 801, IFC4X3_RC4_IfcProcess_type); + IFC4X3_RC4_IfcProjectOrder_type = new entity("IfcProjectOrder", false, 820, IFC4X3_RC4_IfcControl_type); + IFC4X3_RC4_IfcProjectionElement_type = new entity("IfcProjectionElement", false, 817, IFC4X3_RC4_IfcFeatureElementAddition_type); + IFC4X3_RC4_IfcProtectiveDeviceType_type = new entity("IfcProtectiveDeviceType", false, 845, IFC4X3_RC4_IfcFlowControllerType_type); + IFC4X3_RC4_IfcPumpType_type = new entity("IfcPumpType", false, 849, IFC4X3_RC4_IfcFlowMovingDeviceType_type); + IFC4X3_RC4_IfcRailType_type = new entity("IfcRailType", false, 863, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcRailingType_type = new entity("IfcRailingType", false, 861, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcRailway_type = new entity("IfcRailway", false, 865, IFC4X3_RC4_IfcFacility_type); + IFC4X3_RC4_IfcRampFlightType_type = new entity("IfcRampFlightType", false, 870, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcRampType_type = new entity("IfcRampType", false, 872, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcRationalBSplineSurfaceWithKnots_type = new entity("IfcRationalBSplineSurfaceWithKnots", false, 876, IFC4X3_RC4_IfcBSplineSurfaceWithKnots_type); + IFC4X3_RC4_IfcReferent_type = new entity("IfcReferent", false, 885, IFC4X3_RC4_IfcPositioningElement_type); + IFC4X3_RC4_IfcReinforcingElement_type = new entity("IfcReinforcingElement", true, 898, IFC4X3_RC4_IfcElementComponent_type); + IFC4X3_RC4_IfcReinforcingElementType_type = new entity("IfcReinforcingElementType", true, 899, IFC4X3_RC4_IfcElementComponentType_type); + IFC4X3_RC4_IfcReinforcingMesh_type = new entity("IfcReinforcingMesh", false, 900, IFC4X3_RC4_IfcReinforcingElement_type); + IFC4X3_RC4_IfcReinforcingMeshType_type = new entity("IfcReinforcingMeshType", false, 901, IFC4X3_RC4_IfcReinforcingElementType_type); + IFC4X3_RC4_IfcRelAdheresToElement_type = new entity("IfcRelAdheresToElement", false, 903, IFC4X3_RC4_IfcRelDecomposes_type); + IFC4X3_RC4_IfcRelAggregates_type = new entity("IfcRelAggregates", false, 904, IFC4X3_RC4_IfcRelDecomposes_type); + IFC4X3_RC4_IfcRoad_type = new entity("IfcRoad", false, 970, IFC4X3_RC4_IfcFacility_type); + IFC4X3_RC4_IfcRoofType_type = new entity("IfcRoofType", false, 975, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcSanitaryTerminalType_type = new entity("IfcSanitaryTerminalType", false, 984, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcSeamCurve_type = new entity("IfcSeamCurve", false, 987, IFC4X3_RC4_IfcSurfaceCurve_type); + IFC4X3_RC4_IfcSecondOrderPolynomialSpiral_type = new entity("IfcSecondOrderPolynomialSpiral", false, 988, IFC4X3_RC4_IfcSpiral_type); + IFC4X3_RC4_IfcSegmentedReferenceCurve_type = new entity("IfcSegmentedReferenceCurve", false, 999, IFC4X3_RC4_IfcCompositeCurve_type); + IFC4X3_RC4_IfcSeventhOrderPolynomialSpiral_type = new entity("IfcSeventhOrderPolynomialSpiral", false, 1005, IFC4X3_RC4_IfcSpiral_type); + IFC4X3_RC4_IfcShadingDeviceType_type = new entity("IfcShadingDeviceType", false, 1007, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcSign_type = new entity("IfcSign", false, 1015, IFC4X3_RC4_IfcElementComponent_type); + IFC4X3_RC4_IfcSignType_type = new entity("IfcSignType", false, 1019, IFC4X3_RC4_IfcElementComponentType_type); + IFC4X3_RC4_IfcSignalType_type = new entity("IfcSignalType", false, 1017, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcSine_type = new entity("IfcSine", false, 1025, IFC4X3_RC4_IfcSpiral_type); + IFC4X3_RC4_IfcSite_type = new entity("IfcSite", false, 1027, IFC4X3_RC4_IfcSpatialStructureElement_type); + IFC4X3_RC4_IfcSlabType_type = new entity("IfcSlabType", false, 1034, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcSolarDeviceType_type = new entity("IfcSolarDeviceType", false, 1038, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcSolidStratum_type = new entity("IfcSolidStratum", false, 1043, IFC4X3_RC4_IfcGeotechnicalStratum_type); + IFC4X3_RC4_IfcSpace_type = new entity("IfcSpace", false, 1048, IFC4X3_RC4_IfcSpatialStructureElement_type); + IFC4X3_RC4_IfcSpaceHeaterType_type = new entity("IfcSpaceHeaterType", false, 1051, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcSpaceType_type = new entity("IfcSpaceType", false, 1053, IFC4X3_RC4_IfcSpatialStructureElementType_type); + IFC4X3_RC4_IfcStackTerminalType_type = new entity("IfcStackTerminalType", false, 1071, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcStairFlightType_type = new entity("IfcStairFlightType", false, 1075, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcStairType_type = new entity("IfcStairType", false, 1077, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcStructuralAction_type = new entity("IfcStructuralAction", true, 1080, IFC4X3_RC4_IfcStructuralActivity_type); + IFC4X3_RC4_IfcStructuralConnection_type = new entity("IfcStructuralConnection", true, 1084, IFC4X3_RC4_IfcStructuralItem_type); + IFC4X3_RC4_IfcStructuralCurveAction_type = new entity("IfcStructuralCurveAction", false, 1086, IFC4X3_RC4_IfcStructuralAction_type); + IFC4X3_RC4_IfcStructuralCurveConnection_type = new entity("IfcStructuralCurveConnection", false, 1088, IFC4X3_RC4_IfcStructuralConnection_type); + IFC4X3_RC4_IfcStructuralCurveMember_type = new entity("IfcStructuralCurveMember", false, 1089, IFC4X3_RC4_IfcStructuralMember_type); + IFC4X3_RC4_IfcStructuralCurveMemberVarying_type = new entity("IfcStructuralCurveMemberVarying", false, 1091, IFC4X3_RC4_IfcStructuralCurveMember_type); + IFC4X3_RC4_IfcStructuralCurveReaction_type = new entity("IfcStructuralCurveReaction", false, 1092, IFC4X3_RC4_IfcStructuralReaction_type); + IFC4X3_RC4_IfcStructuralLinearAction_type = new entity("IfcStructuralLinearAction", false, 1094, IFC4X3_RC4_IfcStructuralCurveAction_type); + IFC4X3_RC4_IfcStructuralLoadGroup_type = new entity("IfcStructuralLoadGroup", false, 1098, IFC4X3_RC4_IfcGroup_type); + IFC4X3_RC4_IfcStructuralPointAction_type = new entity("IfcStructuralPointAction", false, 1110, IFC4X3_RC4_IfcStructuralAction_type); + IFC4X3_RC4_IfcStructuralPointConnection_type = new entity("IfcStructuralPointConnection", false, 1111, IFC4X3_RC4_IfcStructuralConnection_type); + IFC4X3_RC4_IfcStructuralPointReaction_type = new entity("IfcStructuralPointReaction", false, 1112, IFC4X3_RC4_IfcStructuralReaction_type); + IFC4X3_RC4_IfcStructuralResultGroup_type = new entity("IfcStructuralResultGroup", false, 1114, IFC4X3_RC4_IfcGroup_type); + IFC4X3_RC4_IfcStructuralSurfaceAction_type = new entity("IfcStructuralSurfaceAction", false, 1115, IFC4X3_RC4_IfcStructuralAction_type); + IFC4X3_RC4_IfcStructuralSurfaceConnection_type = new entity("IfcStructuralSurfaceConnection", false, 1117, IFC4X3_RC4_IfcStructuralConnection_type); + IFC4X3_RC4_IfcSubContractResource_type = new entity("IfcSubContractResource", false, 1125, IFC4X3_RC4_IfcConstructionResource_type); + IFC4X3_RC4_IfcSurfaceFeature_type = new entity("IfcSurfaceFeature", false, 1132, IFC4X3_RC4_IfcFeatureElement_type); + IFC4X3_RC4_IfcSwitchingDeviceType_type = new entity("IfcSwitchingDeviceType", false, 1152, IFC4X3_RC4_IfcFlowControllerType_type); + IFC4X3_RC4_IfcSystem_type = new entity("IfcSystem", false, 1154, IFC4X3_RC4_IfcGroup_type); + IFC4X3_RC4_IfcSystemFurnitureElement_type = new entity("IfcSystemFurnitureElement", false, 1155, IFC4X3_RC4_IfcFurnishingElement_type); + IFC4X3_RC4_IfcTankType_type = new entity("IfcTankType", false, 1162, IFC4X3_RC4_IfcFlowStorageDeviceType_type); + IFC4X3_RC4_IfcTendon_type = new entity("IfcTendon", false, 1173, IFC4X3_RC4_IfcReinforcingElement_type); + IFC4X3_RC4_IfcTendonAnchor_type = new entity("IfcTendonAnchor", false, 1174, IFC4X3_RC4_IfcReinforcingElement_type); + IFC4X3_RC4_IfcTendonAnchorType_type = new entity("IfcTendonAnchorType", false, 1175, IFC4X3_RC4_IfcReinforcingElementType_type); + IFC4X3_RC4_IfcTendonConduit_type = new entity("IfcTendonConduit", false, 1177, IFC4X3_RC4_IfcReinforcingElement_type); + IFC4X3_RC4_IfcTendonConduitType_type = new entity("IfcTendonConduitType", false, 1178, IFC4X3_RC4_IfcReinforcingElementType_type); + IFC4X3_RC4_IfcTendonType_type = new entity("IfcTendonType", false, 1180, IFC4X3_RC4_IfcReinforcingElementType_type); + IFC4X3_RC4_IfcTrackElementType_type = new entity("IfcTrackElementType", false, 1222, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcTransformerType_type = new entity("IfcTransformerType", false, 1225, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcTransportElement_type = new entity("IfcTransportElement", false, 1229, IFC4X3_RC4_IfcElement_type); + IFC4X3_RC4_IfcTrimmedCurve_type = new entity("IfcTrimmedCurve", false, 1237, IFC4X3_RC4_IfcBoundedCurve_type); + IFC4X3_RC4_IfcTubeBundleType_type = new entity("IfcTubeBundleType", false, 1242, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcUnitaryEquipmentType_type = new entity("IfcUnitaryEquipmentType", false, 1253, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcValveType_type = new entity("IfcValveType", false, 1261, IFC4X3_RC4_IfcFlowControllerType_type); + IFC4X3_RC4_IfcVibrationDamper_type = new entity("IfcVibrationDamper", false, 1269, IFC4X3_RC4_IfcElementComponent_type); + IFC4X3_RC4_IfcVibrationDamperType_type = new entity("IfcVibrationDamperType", false, 1270, IFC4X3_RC4_IfcElementComponentType_type); + IFC4X3_RC4_IfcVibrationIsolator_type = new entity("IfcVibrationIsolator", false, 1272, IFC4X3_RC4_IfcElementComponent_type); + IFC4X3_RC4_IfcVibrationIsolatorType_type = new entity("IfcVibrationIsolatorType", false, 1273, IFC4X3_RC4_IfcElementComponentType_type); + IFC4X3_RC4_IfcVirtualElement_type = new entity("IfcVirtualElement", false, 1275, IFC4X3_RC4_IfcElement_type); + IFC4X3_RC4_IfcVoidStratum_type = new entity("IfcVoidStratum", false, 1279, IFC4X3_RC4_IfcGeotechnicalStratum_type); + IFC4X3_RC4_IfcVoidingFeature_type = new entity("IfcVoidingFeature", false, 1277, IFC4X3_RC4_IfcFeatureElementSubtraction_type); + IFC4X3_RC4_IfcWallType_type = new entity("IfcWallType", false, 1285, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcWasteTerminalType_type = new entity("IfcWasteTerminalType", false, 1291, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcWaterStratum_type = new entity("IfcWaterStratum", false, 1293, IFC4X3_RC4_IfcGeotechnicalStratum_type); + IFC4X3_RC4_IfcWindowType_type = new entity("IfcWindowType", false, 1303, IFC4X3_RC4_IfcBuiltElementType_type); + IFC4X3_RC4_IfcWorkCalendar_type = new entity("IfcWorkCalendar", false, 1306, IFC4X3_RC4_IfcControl_type); + IFC4X3_RC4_IfcWorkControl_type = new entity("IfcWorkControl", true, 1308, IFC4X3_RC4_IfcControl_type); + IFC4X3_RC4_IfcWorkPlan_type = new entity("IfcWorkPlan", false, 1309, IFC4X3_RC4_IfcWorkControl_type); + IFC4X3_RC4_IfcWorkSchedule_type = new entity("IfcWorkSchedule", false, 1311, IFC4X3_RC4_IfcWorkControl_type); + IFC4X3_RC4_IfcZone_type = new entity("IfcZone", false, 1314, IFC4X3_RC4_IfcSystem_type); { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcCurveStyleFontAndScaling_type); @@ -7012,19 +7050,19 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcElement_type); items.push_back(IFC4X3_RC4_IfcSpatialElement_type); - IFC4X3_RC4_IfcInterferenceSelect_type = new select_type("IfcInterferenceSelect", 561, items); + IFC4X3_RC4_IfcInterferenceSelect_type = new select_type("IfcInterferenceSelect", 559, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcGroup_type); items.push_back(IFC4X3_RC4_IfcProduct_type); - IFC4X3_RC4_IfcSpatialReferenceSelect_type = new select_type("IfcSpatialReferenceSelect", 1058, items); + IFC4X3_RC4_IfcSpatialReferenceSelect_type = new select_type("IfcSpatialReferenceSelect", 1057, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcElement_type); items.push_back(IFC4X3_RC4_IfcStructuralItem_type); - IFC4X3_RC4_IfcStructuralActivityAssignmentSelect_type = new select_type("IfcStructuralActivityAssignmentSelect", 1083, items); + IFC4X3_RC4_IfcStructuralActivityAssignmentSelect_type = new select_type("IfcStructuralActivityAssignmentSelect", 1082, items); } IFC4X3_RC4_IfcActionRequest_type = new entity("IfcActionRequest", false, 2, IFC4X3_RC4_IfcControl_type); IFC4X3_RC4_IfcAirTerminalBoxType_type = new entity("IfcAirTerminalBoxType", false, 19, IFC4X3_RC4_IfcFlowControllerType_type); @@ -7077,120 +7115,120 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcCurtainWall_type = new entity("IfcCurtainWall", false, 269, IFC4X3_RC4_IfcBuiltElement_type); IFC4X3_RC4_IfcDamperType_type = new entity("IfcDamperType", false, 289, IFC4X3_RC4_IfcFlowControllerType_type); IFC4X3_RC4_IfcDeepFoundation_type = new entity("IfcDeepFoundation", false, 296, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcDiscreteAccessory_type = new entity("IfcDiscreteAccessory", false, 312, IFC4X3_RC4_IfcElementComponent_type); - IFC4X3_RC4_IfcDiscreteAccessoryType_type = new entity("IfcDiscreteAccessoryType", false, 313, IFC4X3_RC4_IfcElementComponentType_type); - IFC4X3_RC4_IfcDistributionBoardType_type = new entity("IfcDistributionBoardType", false, 316, IFC4X3_RC4_IfcFlowControllerType_type); - IFC4X3_RC4_IfcDistributionChamberElementType_type = new entity("IfcDistributionChamberElementType", false, 319, IFC4X3_RC4_IfcDistributionFlowElementType_type); - IFC4X3_RC4_IfcDistributionControlElementType_type = new entity("IfcDistributionControlElementType", true, 323, IFC4X3_RC4_IfcDistributionElementType_type); - IFC4X3_RC4_IfcDistributionElement_type = new entity("IfcDistributionElement", false, 324, IFC4X3_RC4_IfcElement_type); - IFC4X3_RC4_IfcDistributionFlowElement_type = new entity("IfcDistributionFlowElement", false, 326, IFC4X3_RC4_IfcDistributionElement_type); - IFC4X3_RC4_IfcDistributionPort_type = new entity("IfcDistributionPort", false, 328, IFC4X3_RC4_IfcPort_type); - IFC4X3_RC4_IfcDistributionSystem_type = new entity("IfcDistributionSystem", false, 330, IFC4X3_RC4_IfcSystem_type); - IFC4X3_RC4_IfcDoor_type = new entity("IfcDoor", false, 338, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcDoorStandardCase_type = new entity("IfcDoorStandardCase", false, 343, IFC4X3_RC4_IfcDoor_type); - IFC4X3_RC4_IfcDuctFittingType_type = new entity("IfcDuctFittingType", false, 354, IFC4X3_RC4_IfcFlowFittingType_type); - IFC4X3_RC4_IfcDuctSegmentType_type = new entity("IfcDuctSegmentType", false, 357, IFC4X3_RC4_IfcFlowSegmentType_type); - IFC4X3_RC4_IfcDuctSilencerType_type = new entity("IfcDuctSilencerType", false, 360, IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); - IFC4X3_RC4_IfcEarthworksCut_type = new entity("IfcEarthworksCut", false, 364, IFC4X3_RC4_IfcFeatureElementSubtraction_type); - IFC4X3_RC4_IfcEarthworksElement_type = new entity("IfcEarthworksElement", false, 366, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcEarthworksFill_type = new entity("IfcEarthworksFill", false, 367, IFC4X3_RC4_IfcEarthworksElement_type); - IFC4X3_RC4_IfcElectricApplianceType_type = new entity("IfcElectricApplianceType", false, 373, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcElectricDistributionBoardType_type = new entity("IfcElectricDistributionBoardType", false, 380, IFC4X3_RC4_IfcFlowControllerType_type); - IFC4X3_RC4_IfcElectricFlowStorageDeviceType_type = new entity("IfcElectricFlowStorageDeviceType", false, 383, IFC4X3_RC4_IfcFlowStorageDeviceType_type); - IFC4X3_RC4_IfcElectricFlowTreatmentDeviceType_type = new entity("IfcElectricFlowTreatmentDeviceType", false, 386, IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); - IFC4X3_RC4_IfcElectricGeneratorType_type = new entity("IfcElectricGeneratorType", false, 389, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcElectricMotorType_type = new entity("IfcElectricMotorType", false, 392, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); - IFC4X3_RC4_IfcElectricTimeControlType_type = new entity("IfcElectricTimeControlType", false, 396, IFC4X3_RC4_IfcFlowControllerType_type); - IFC4X3_RC4_IfcEnergyConversionDevice_type = new entity("IfcEnergyConversionDevice", false, 411, IFC4X3_RC4_IfcDistributionFlowElement_type); - IFC4X3_RC4_IfcEngine_type = new entity("IfcEngine", false, 414, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcEvaporativeCooler_type = new entity("IfcEvaporativeCooler", false, 417, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcEvaporator_type = new entity("IfcEvaporator", false, 420, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcExternalSpatialElement_type = new entity("IfcExternalSpatialElement", false, 435, IFC4X3_RC4_IfcExternalSpatialStructureElement_type); - IFC4X3_RC4_IfcFanType_type = new entity("IfcFanType", false, 454, IFC4X3_RC4_IfcFlowMovingDeviceType_type); - IFC4X3_RC4_IfcFilterType_type = new entity("IfcFilterType", false, 467, IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); - IFC4X3_RC4_IfcFireSuppressionTerminalType_type = new entity("IfcFireSuppressionTerminalType", false, 470, IFC4X3_RC4_IfcFlowTerminalType_type); - IFC4X3_RC4_IfcFlowController_type = new entity("IfcFlowController", false, 473, IFC4X3_RC4_IfcDistributionFlowElement_type); - IFC4X3_RC4_IfcFlowFitting_type = new entity("IfcFlowFitting", false, 476, IFC4X3_RC4_IfcDistributionFlowElement_type); - IFC4X3_RC4_IfcFlowInstrumentType_type = new entity("IfcFlowInstrumentType", false, 479, IFC4X3_RC4_IfcDistributionControlElementType_type); - IFC4X3_RC4_IfcFlowMeter_type = new entity("IfcFlowMeter", false, 481, IFC4X3_RC4_IfcFlowController_type); - IFC4X3_RC4_IfcFlowMovingDevice_type = new entity("IfcFlowMovingDevice", false, 484, IFC4X3_RC4_IfcDistributionFlowElement_type); - IFC4X3_RC4_IfcFlowSegment_type = new entity("IfcFlowSegment", false, 486, IFC4X3_RC4_IfcDistributionFlowElement_type); - IFC4X3_RC4_IfcFlowStorageDevice_type = new entity("IfcFlowStorageDevice", false, 488, IFC4X3_RC4_IfcDistributionFlowElement_type); - IFC4X3_RC4_IfcFlowTerminal_type = new entity("IfcFlowTerminal", false, 490, IFC4X3_RC4_IfcDistributionFlowElement_type); - IFC4X3_RC4_IfcFlowTreatmentDevice_type = new entity("IfcFlowTreatmentDevice", false, 492, IFC4X3_RC4_IfcDistributionFlowElement_type); - IFC4X3_RC4_IfcFooting_type = new entity("IfcFooting", false, 497, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcGeotechnicalAssembly_type = new entity("IfcGeotechnicalAssembly", true, 519, IFC4X3_RC4_IfcGeotechnicalElement_type); - IFC4X3_RC4_IfcGrid_type = new entity("IfcGrid", false, 525, IFC4X3_RC4_IfcPositioningElement_type); - IFC4X3_RC4_IfcHeatExchanger_type = new entity("IfcHeatExchanger", false, 533, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcHumidifier_type = new entity("IfcHumidifier", false, 538, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcInterceptor_type = new entity("IfcInterceptor", false, 558, IFC4X3_RC4_IfcFlowTreatmentDevice_type); - IFC4X3_RC4_IfcJunctionBox_type = new entity("IfcJunctionBox", false, 571, IFC4X3_RC4_IfcFlowFitting_type); - IFC4X3_RC4_IfcKerb_type = new entity("IfcKerb", false, 574, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcLamp_type = new entity("IfcLamp", false, 583, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcLightFixture_type = new entity("IfcLightFixture", false, 597, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcLinearPositioningElement_type = new entity("IfcLinearPositioningElement", false, 612, IFC4X3_RC4_IfcPositioningElement_type); - IFC4X3_RC4_IfcLiquidTerminal_type = new entity("IfcLiquidTerminal", false, 616, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcMedicalDevice_type = new entity("IfcMedicalDevice", false, 665, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcMember_type = new entity("IfcMember", false, 668, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcMemberStandardCase_type = new entity("IfcMemberStandardCase", false, 669, IFC4X3_RC4_IfcMember_type); - IFC4X3_RC4_IfcMobileTelecommunicationsAppliance_type = new entity("IfcMobileTelecommunicationsAppliance", false, 675, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcMooringDevice_type = new entity("IfcMooringDevice", false, 691, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcMotorConnection_type = new entity("IfcMotorConnection", false, 694, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcNavigationElement_type = new entity("IfcNavigationElement", false, 698, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcOuterBoundaryCurve_type = new entity("IfcOuterBoundaryCurve", false, 725, IFC4X3_RC4_IfcBoundaryCurve_type); - IFC4X3_RC4_IfcOutlet_type = new entity("IfcOutlet", false, 726, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcPavement_type = new entity("IfcPavement", false, 733, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcPile_type = new entity("IfcPile", false, 750, IFC4X3_RC4_IfcDeepFoundation_type); - IFC4X3_RC4_IfcPipeFitting_type = new entity("IfcPipeFitting", false, 754, IFC4X3_RC4_IfcFlowFitting_type); - IFC4X3_RC4_IfcPipeSegment_type = new entity("IfcPipeSegment", false, 757, IFC4X3_RC4_IfcFlowSegment_type); - IFC4X3_RC4_IfcPlate_type = new entity("IfcPlate", false, 768, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcPlateStandardCase_type = new entity("IfcPlateStandardCase", false, 769, IFC4X3_RC4_IfcPlate_type); - IFC4X3_RC4_IfcProtectiveDevice_type = new entity("IfcProtectiveDevice", false, 843, IFC4X3_RC4_IfcFlowController_type); - IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitType_type = new entity("IfcProtectiveDeviceTrippingUnitType", false, 845, IFC4X3_RC4_IfcDistributionControlElementType_type); - IFC4X3_RC4_IfcPump_type = new entity("IfcPump", false, 850, IFC4X3_RC4_IfcFlowMovingDevice_type); - IFC4X3_RC4_IfcRail_type = new entity("IfcRail", false, 861, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcRailing_type = new entity("IfcRailing", false, 862, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcRamp_type = new entity("IfcRamp", false, 870, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcRampFlight_type = new entity("IfcRampFlight", false, 871, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcRationalBSplineCurveWithKnots_type = new entity("IfcRationalBSplineCurveWithKnots", false, 877, IFC4X3_RC4_IfcBSplineCurveWithKnots_type); - IFC4X3_RC4_IfcReinforcedSoil_type = new entity("IfcReinforcedSoil", false, 891, IFC4X3_RC4_IfcEarthworksElement_type); - IFC4X3_RC4_IfcReinforcingBar_type = new entity("IfcReinforcingBar", false, 895, IFC4X3_RC4_IfcReinforcingElement_type); - IFC4X3_RC4_IfcReinforcingBarType_type = new entity("IfcReinforcingBarType", false, 898, IFC4X3_RC4_IfcReinforcingElementType_type); - IFC4X3_RC4_IfcRoof_type = new entity("IfcRoof", false, 975, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcSanitaryTerminal_type = new entity("IfcSanitaryTerminal", false, 984, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcSensorType_type = new entity("IfcSensorType", false, 1003, IFC4X3_RC4_IfcDistributionControlElementType_type); - IFC4X3_RC4_IfcShadingDevice_type = new entity("IfcShadingDevice", false, 1007, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcSignal_type = new entity("IfcSignal", false, 1017, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcSlab_type = new entity("IfcSlab", false, 1032, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcSlabElementedCase_type = new entity("IfcSlabElementedCase", false, 1033, IFC4X3_RC4_IfcSlab_type); - IFC4X3_RC4_IfcSlabStandardCase_type = new entity("IfcSlabStandardCase", false, 1034, IFC4X3_RC4_IfcSlab_type); - IFC4X3_RC4_IfcSolarDevice_type = new entity("IfcSolarDevice", false, 1038, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcSpaceHeater_type = new entity("IfcSpaceHeater", false, 1051, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcStackTerminal_type = new entity("IfcStackTerminal", false, 1071, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcStair_type = new entity("IfcStair", false, 1074, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcStairFlight_type = new entity("IfcStairFlight", false, 1075, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcStructuralAnalysisModel_type = new entity("IfcStructuralAnalysisModel", false, 1084, IFC4X3_RC4_IfcSystem_type); - IFC4X3_RC4_IfcStructuralLoadCase_type = new entity("IfcStructuralLoadCase", false, 1097, IFC4X3_RC4_IfcStructuralLoadGroup_type); - IFC4X3_RC4_IfcStructuralPlanarAction_type = new entity("IfcStructuralPlanarAction", false, 1110, IFC4X3_RC4_IfcStructuralSurfaceAction_type); - IFC4X3_RC4_IfcSwitchingDevice_type = new entity("IfcSwitchingDevice", false, 1152, IFC4X3_RC4_IfcFlowController_type); - IFC4X3_RC4_IfcTank_type = new entity("IfcTank", false, 1162, IFC4X3_RC4_IfcFlowStorageDevice_type); - IFC4X3_RC4_IfcTrackElement_type = new entity("IfcTrackElement", false, 1222, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcTransformer_type = new entity("IfcTransformer", false, 1225, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcTubeBundle_type = new entity("IfcTubeBundle", false, 1242, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcUnitaryControlElementType_type = new entity("IfcUnitaryControlElementType", false, 1251, IFC4X3_RC4_IfcDistributionControlElementType_type); - IFC4X3_RC4_IfcUnitaryEquipment_type = new entity("IfcUnitaryEquipment", false, 1253, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcValve_type = new entity("IfcValve", false, 1261, IFC4X3_RC4_IfcFlowController_type); - IFC4X3_RC4_IfcWall_type = new entity("IfcWall", false, 1283, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcWallElementedCase_type = new entity("IfcWallElementedCase", false, 1284, IFC4X3_RC4_IfcWall_type); - IFC4X3_RC4_IfcWallStandardCase_type = new entity("IfcWallStandardCase", false, 1285, IFC4X3_RC4_IfcWall_type); - IFC4X3_RC4_IfcWasteTerminal_type = new entity("IfcWasteTerminal", false, 1291, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcWindow_type = new entity("IfcWindow", false, 1295, IFC4X3_RC4_IfcBuiltElement_type); - IFC4X3_RC4_IfcWindowStandardCase_type = new entity("IfcWindowStandardCase", false, 1300, IFC4X3_RC4_IfcWindow_type); + IFC4X3_RC4_IfcDiscreteAccessory_type = new entity("IfcDiscreteAccessory", false, 311, IFC4X3_RC4_IfcElementComponent_type); + IFC4X3_RC4_IfcDiscreteAccessoryType_type = new entity("IfcDiscreteAccessoryType", false, 312, IFC4X3_RC4_IfcElementComponentType_type); + IFC4X3_RC4_IfcDistributionBoardType_type = new entity("IfcDistributionBoardType", false, 315, IFC4X3_RC4_IfcFlowControllerType_type); + IFC4X3_RC4_IfcDistributionChamberElementType_type = new entity("IfcDistributionChamberElementType", false, 318, IFC4X3_RC4_IfcDistributionFlowElementType_type); + IFC4X3_RC4_IfcDistributionControlElementType_type = new entity("IfcDistributionControlElementType", true, 322, IFC4X3_RC4_IfcDistributionElementType_type); + IFC4X3_RC4_IfcDistributionElement_type = new entity("IfcDistributionElement", false, 323, IFC4X3_RC4_IfcElement_type); + IFC4X3_RC4_IfcDistributionFlowElement_type = new entity("IfcDistributionFlowElement", false, 325, IFC4X3_RC4_IfcDistributionElement_type); + IFC4X3_RC4_IfcDistributionPort_type = new entity("IfcDistributionPort", false, 327, IFC4X3_RC4_IfcPort_type); + IFC4X3_RC4_IfcDistributionSystem_type = new entity("IfcDistributionSystem", false, 329, IFC4X3_RC4_IfcSystem_type); + IFC4X3_RC4_IfcDoor_type = new entity("IfcDoor", false, 337, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcDoorStandardCase_type = new entity("IfcDoorStandardCase", false, 342, IFC4X3_RC4_IfcDoor_type); + IFC4X3_RC4_IfcDuctFittingType_type = new entity("IfcDuctFittingType", false, 353, IFC4X3_RC4_IfcFlowFittingType_type); + IFC4X3_RC4_IfcDuctSegmentType_type = new entity("IfcDuctSegmentType", false, 356, IFC4X3_RC4_IfcFlowSegmentType_type); + IFC4X3_RC4_IfcDuctSilencerType_type = new entity("IfcDuctSilencerType", false, 359, IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); + IFC4X3_RC4_IfcEarthworksCut_type = new entity("IfcEarthworksCut", false, 363, IFC4X3_RC4_IfcFeatureElementSubtraction_type); + IFC4X3_RC4_IfcEarthworksElement_type = new entity("IfcEarthworksElement", false, 365, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcEarthworksFill_type = new entity("IfcEarthworksFill", false, 366, IFC4X3_RC4_IfcEarthworksElement_type); + IFC4X3_RC4_IfcElectricApplianceType_type = new entity("IfcElectricApplianceType", false, 372, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcElectricDistributionBoardType_type = new entity("IfcElectricDistributionBoardType", false, 379, IFC4X3_RC4_IfcFlowControllerType_type); + IFC4X3_RC4_IfcElectricFlowStorageDeviceType_type = new entity("IfcElectricFlowStorageDeviceType", false, 382, IFC4X3_RC4_IfcFlowStorageDeviceType_type); + IFC4X3_RC4_IfcElectricFlowTreatmentDeviceType_type = new entity("IfcElectricFlowTreatmentDeviceType", false, 385, IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); + IFC4X3_RC4_IfcElectricGeneratorType_type = new entity("IfcElectricGeneratorType", false, 388, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcElectricMotorType_type = new entity("IfcElectricMotorType", false, 391, IFC4X3_RC4_IfcEnergyConversionDeviceType_type); + IFC4X3_RC4_IfcElectricTimeControlType_type = new entity("IfcElectricTimeControlType", false, 395, IFC4X3_RC4_IfcFlowControllerType_type); + IFC4X3_RC4_IfcEnergyConversionDevice_type = new entity("IfcEnergyConversionDevice", false, 410, IFC4X3_RC4_IfcDistributionFlowElement_type); + IFC4X3_RC4_IfcEngine_type = new entity("IfcEngine", false, 413, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcEvaporativeCooler_type = new entity("IfcEvaporativeCooler", false, 416, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcEvaporator_type = new entity("IfcEvaporator", false, 419, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcExternalSpatialElement_type = new entity("IfcExternalSpatialElement", false, 434, IFC4X3_RC4_IfcExternalSpatialStructureElement_type); + IFC4X3_RC4_IfcFanType_type = new entity("IfcFanType", false, 453, IFC4X3_RC4_IfcFlowMovingDeviceType_type); + IFC4X3_RC4_IfcFilterType_type = new entity("IfcFilterType", false, 466, IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); + IFC4X3_RC4_IfcFireSuppressionTerminalType_type = new entity("IfcFireSuppressionTerminalType", false, 469, IFC4X3_RC4_IfcFlowTerminalType_type); + IFC4X3_RC4_IfcFlowController_type = new entity("IfcFlowController", false, 472, IFC4X3_RC4_IfcDistributionFlowElement_type); + IFC4X3_RC4_IfcFlowFitting_type = new entity("IfcFlowFitting", false, 475, IFC4X3_RC4_IfcDistributionFlowElement_type); + IFC4X3_RC4_IfcFlowInstrumentType_type = new entity("IfcFlowInstrumentType", false, 478, IFC4X3_RC4_IfcDistributionControlElementType_type); + IFC4X3_RC4_IfcFlowMeter_type = new entity("IfcFlowMeter", false, 480, IFC4X3_RC4_IfcFlowController_type); + IFC4X3_RC4_IfcFlowMovingDevice_type = new entity("IfcFlowMovingDevice", false, 483, IFC4X3_RC4_IfcDistributionFlowElement_type); + IFC4X3_RC4_IfcFlowSegment_type = new entity("IfcFlowSegment", false, 485, IFC4X3_RC4_IfcDistributionFlowElement_type); + IFC4X3_RC4_IfcFlowStorageDevice_type = new entity("IfcFlowStorageDevice", false, 487, IFC4X3_RC4_IfcDistributionFlowElement_type); + IFC4X3_RC4_IfcFlowTerminal_type = new entity("IfcFlowTerminal", false, 489, IFC4X3_RC4_IfcDistributionFlowElement_type); + IFC4X3_RC4_IfcFlowTreatmentDevice_type = new entity("IfcFlowTreatmentDevice", false, 491, IFC4X3_RC4_IfcDistributionFlowElement_type); + IFC4X3_RC4_IfcFooting_type = new entity("IfcFooting", false, 496, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcGeotechnicalAssembly_type = new entity("IfcGeotechnicalAssembly", true, 518, IFC4X3_RC4_IfcGeotechnicalElement_type); + IFC4X3_RC4_IfcGrid_type = new entity("IfcGrid", false, 524, IFC4X3_RC4_IfcPositioningElement_type); + IFC4X3_RC4_IfcHeatExchanger_type = new entity("IfcHeatExchanger", false, 532, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcHumidifier_type = new entity("IfcHumidifier", false, 537, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcInterceptor_type = new entity("IfcInterceptor", false, 556, IFC4X3_RC4_IfcFlowTreatmentDevice_type); + IFC4X3_RC4_IfcJunctionBox_type = new entity("IfcJunctionBox", false, 569, IFC4X3_RC4_IfcFlowFitting_type); + IFC4X3_RC4_IfcKerb_type = new entity("IfcKerb", false, 572, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcLamp_type = new entity("IfcLamp", false, 581, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcLightFixture_type = new entity("IfcLightFixture", false, 595, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcLinearPositioningElement_type = new entity("IfcLinearPositioningElement", false, 610, IFC4X3_RC4_IfcPositioningElement_type); + IFC4X3_RC4_IfcLiquidTerminal_type = new entity("IfcLiquidTerminal", false, 614, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcMedicalDevice_type = new entity("IfcMedicalDevice", false, 663, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcMember_type = new entity("IfcMember", false, 666, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcMemberStandardCase_type = new entity("IfcMemberStandardCase", false, 667, IFC4X3_RC4_IfcMember_type); + IFC4X3_RC4_IfcMobileTelecommunicationsAppliance_type = new entity("IfcMobileTelecommunicationsAppliance", false, 673, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcMooringDevice_type = new entity("IfcMooringDevice", false, 689, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcMotorConnection_type = new entity("IfcMotorConnection", false, 692, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcNavigationElement_type = new entity("IfcNavigationElement", false, 696, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcOuterBoundaryCurve_type = new entity("IfcOuterBoundaryCurve", false, 723, IFC4X3_RC4_IfcBoundaryCurve_type); + IFC4X3_RC4_IfcOutlet_type = new entity("IfcOutlet", false, 724, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcPavement_type = new entity("IfcPavement", false, 731, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcPile_type = new entity("IfcPile", false, 748, IFC4X3_RC4_IfcDeepFoundation_type); + IFC4X3_RC4_IfcPipeFitting_type = new entity("IfcPipeFitting", false, 752, IFC4X3_RC4_IfcFlowFitting_type); + IFC4X3_RC4_IfcPipeSegment_type = new entity("IfcPipeSegment", false, 755, IFC4X3_RC4_IfcFlowSegment_type); + IFC4X3_RC4_IfcPlate_type = new entity("IfcPlate", false, 766, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcPlateStandardCase_type = new entity("IfcPlateStandardCase", false, 767, IFC4X3_RC4_IfcPlate_type); + IFC4X3_RC4_IfcProtectiveDevice_type = new entity("IfcProtectiveDevice", false, 841, IFC4X3_RC4_IfcFlowController_type); + IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitType_type = new entity("IfcProtectiveDeviceTrippingUnitType", false, 843, IFC4X3_RC4_IfcDistributionControlElementType_type); + IFC4X3_RC4_IfcPump_type = new entity("IfcPump", false, 848, IFC4X3_RC4_IfcFlowMovingDevice_type); + IFC4X3_RC4_IfcRail_type = new entity("IfcRail", false, 859, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcRailing_type = new entity("IfcRailing", false, 860, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcRamp_type = new entity("IfcRamp", false, 868, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcRampFlight_type = new entity("IfcRampFlight", false, 869, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcRationalBSplineCurveWithKnots_type = new entity("IfcRationalBSplineCurveWithKnots", false, 875, IFC4X3_RC4_IfcBSplineCurveWithKnots_type); + IFC4X3_RC4_IfcReinforcedSoil_type = new entity("IfcReinforcedSoil", false, 889, IFC4X3_RC4_IfcEarthworksElement_type); + IFC4X3_RC4_IfcReinforcingBar_type = new entity("IfcReinforcingBar", false, 893, IFC4X3_RC4_IfcReinforcingElement_type); + IFC4X3_RC4_IfcReinforcingBarType_type = new entity("IfcReinforcingBarType", false, 896, IFC4X3_RC4_IfcReinforcingElementType_type); + IFC4X3_RC4_IfcRoof_type = new entity("IfcRoof", false, 974, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcSanitaryTerminal_type = new entity("IfcSanitaryTerminal", false, 983, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcSensorType_type = new entity("IfcSensorType", false, 1002, IFC4X3_RC4_IfcDistributionControlElementType_type); + IFC4X3_RC4_IfcShadingDevice_type = new entity("IfcShadingDevice", false, 1006, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcSignal_type = new entity("IfcSignal", false, 1016, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcSlab_type = new entity("IfcSlab", false, 1031, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcSlabElementedCase_type = new entity("IfcSlabElementedCase", false, 1032, IFC4X3_RC4_IfcSlab_type); + IFC4X3_RC4_IfcSlabStandardCase_type = new entity("IfcSlabStandardCase", false, 1033, IFC4X3_RC4_IfcSlab_type); + IFC4X3_RC4_IfcSolarDevice_type = new entity("IfcSolarDevice", false, 1037, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcSpaceHeater_type = new entity("IfcSpaceHeater", false, 1050, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcStackTerminal_type = new entity("IfcStackTerminal", false, 1070, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcStair_type = new entity("IfcStair", false, 1073, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcStairFlight_type = new entity("IfcStairFlight", false, 1074, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcStructuralAnalysisModel_type = new entity("IfcStructuralAnalysisModel", false, 1083, IFC4X3_RC4_IfcSystem_type); + IFC4X3_RC4_IfcStructuralLoadCase_type = new entity("IfcStructuralLoadCase", false, 1096, IFC4X3_RC4_IfcStructuralLoadGroup_type); + IFC4X3_RC4_IfcStructuralPlanarAction_type = new entity("IfcStructuralPlanarAction", false, 1109, IFC4X3_RC4_IfcStructuralSurfaceAction_type); + IFC4X3_RC4_IfcSwitchingDevice_type = new entity("IfcSwitchingDevice", false, 1151, IFC4X3_RC4_IfcFlowController_type); + IFC4X3_RC4_IfcTank_type = new entity("IfcTank", false, 1161, IFC4X3_RC4_IfcFlowStorageDevice_type); + IFC4X3_RC4_IfcTrackElement_type = new entity("IfcTrackElement", false, 1221, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcTransformer_type = new entity("IfcTransformer", false, 1224, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcTubeBundle_type = new entity("IfcTubeBundle", false, 1241, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcUnitaryControlElementType_type = new entity("IfcUnitaryControlElementType", false, 1250, IFC4X3_RC4_IfcDistributionControlElementType_type); + IFC4X3_RC4_IfcUnitaryEquipment_type = new entity("IfcUnitaryEquipment", false, 1252, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcValve_type = new entity("IfcValve", false, 1260, IFC4X3_RC4_IfcFlowController_type); + IFC4X3_RC4_IfcWall_type = new entity("IfcWall", false, 1282, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcWallElementedCase_type = new entity("IfcWallElementedCase", false, 1283, IFC4X3_RC4_IfcWall_type); + IFC4X3_RC4_IfcWallStandardCase_type = new entity("IfcWallStandardCase", false, 1284, IFC4X3_RC4_IfcWall_type); + IFC4X3_RC4_IfcWasteTerminal_type = new entity("IfcWasteTerminal", false, 1290, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcWindow_type = new entity("IfcWindow", false, 1294, IFC4X3_RC4_IfcBuiltElement_type); + IFC4X3_RC4_IfcWindowStandardCase_type = new entity("IfcWindowStandardCase", false, 1299, IFC4X3_RC4_IfcWindow_type); { std::vector items; items.reserve(2); items.push_back(IFC4X3_RC4_IfcExternalSpatialElement_type); items.push_back(IFC4X3_RC4_IfcSpace_type); - IFC4X3_RC4_IfcSpaceBoundarySelect_type = new select_type("IfcSpaceBoundarySelect", 1050, items); + IFC4X3_RC4_IfcSpaceBoundarySelect_type = new select_type("IfcSpaceBoundarySelect", 1049, items); } IFC4X3_RC4_IfcActuatorType_type = new entity("IfcActuatorType", false, 10, IFC4X3_RC4_IfcDistributionControlElementType_type); IFC4X3_RC4_IfcAirTerminal_type = new entity("IfcAirTerminal", false, 17, IFC4X3_RC4_IfcFlowTerminal_type); @@ -7221,29 +7259,29 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcCooledBeam_type = new entity("IfcCooledBeam", false, 239, IFC4X3_RC4_IfcEnergyConversionDevice_type); IFC4X3_RC4_IfcCoolingTower_type = new entity("IfcCoolingTower", false, 242, IFC4X3_RC4_IfcEnergyConversionDevice_type); IFC4X3_RC4_IfcDamper_type = new entity("IfcDamper", false, 288, IFC4X3_RC4_IfcFlowController_type); - IFC4X3_RC4_IfcDistributionBoard_type = new entity("IfcDistributionBoard", false, 315, IFC4X3_RC4_IfcFlowController_type); - IFC4X3_RC4_IfcDistributionChamberElement_type = new entity("IfcDistributionChamberElement", false, 318, IFC4X3_RC4_IfcDistributionFlowElement_type); - IFC4X3_RC4_IfcDistributionCircuit_type = new entity("IfcDistributionCircuit", false, 321, IFC4X3_RC4_IfcDistributionSystem_type); - IFC4X3_RC4_IfcDistributionControlElement_type = new entity("IfcDistributionControlElement", false, 322, IFC4X3_RC4_IfcDistributionElement_type); - IFC4X3_RC4_IfcDuctFitting_type = new entity("IfcDuctFitting", false, 353, IFC4X3_RC4_IfcFlowFitting_type); - IFC4X3_RC4_IfcDuctSegment_type = new entity("IfcDuctSegment", false, 356, IFC4X3_RC4_IfcFlowSegment_type); - IFC4X3_RC4_IfcDuctSilencer_type = new entity("IfcDuctSilencer", false, 359, IFC4X3_RC4_IfcFlowTreatmentDevice_type); - IFC4X3_RC4_IfcElectricAppliance_type = new entity("IfcElectricAppliance", false, 372, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcElectricDistributionBoard_type = new entity("IfcElectricDistributionBoard", false, 379, IFC4X3_RC4_IfcFlowController_type); - IFC4X3_RC4_IfcElectricFlowStorageDevice_type = new entity("IfcElectricFlowStorageDevice", false, 382, IFC4X3_RC4_IfcFlowStorageDevice_type); - IFC4X3_RC4_IfcElectricFlowTreatmentDevice_type = new entity("IfcElectricFlowTreatmentDevice", false, 385, IFC4X3_RC4_IfcFlowTreatmentDevice_type); - IFC4X3_RC4_IfcElectricGenerator_type = new entity("IfcElectricGenerator", false, 388, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcElectricMotor_type = new entity("IfcElectricMotor", false, 391, IFC4X3_RC4_IfcEnergyConversionDevice_type); - IFC4X3_RC4_IfcElectricTimeControl_type = new entity("IfcElectricTimeControl", false, 395, IFC4X3_RC4_IfcFlowController_type); - IFC4X3_RC4_IfcFan_type = new entity("IfcFan", false, 453, IFC4X3_RC4_IfcFlowMovingDevice_type); - IFC4X3_RC4_IfcFilter_type = new entity("IfcFilter", false, 466, IFC4X3_RC4_IfcFlowTreatmentDevice_type); - IFC4X3_RC4_IfcFireSuppressionTerminal_type = new entity("IfcFireSuppressionTerminal", false, 469, IFC4X3_RC4_IfcFlowTerminal_type); - IFC4X3_RC4_IfcFlowInstrument_type = new entity("IfcFlowInstrument", false, 478, IFC4X3_RC4_IfcDistributionControlElement_type); - IFC4X3_RC4_IfcGeomodel_type = new entity("IfcGeomodel", false, 517, IFC4X3_RC4_IfcGeotechnicalAssembly_type); - IFC4X3_RC4_IfcGeoslice_type = new entity("IfcGeoslice", false, 518, IFC4X3_RC4_IfcGeotechnicalAssembly_type); - IFC4X3_RC4_IfcProtectiveDeviceTrippingUnit_type = new entity("IfcProtectiveDeviceTrippingUnit", false, 844, IFC4X3_RC4_IfcDistributionControlElement_type); - IFC4X3_RC4_IfcSensor_type = new entity("IfcSensor", false, 1002, IFC4X3_RC4_IfcDistributionControlElement_type); - IFC4X3_RC4_IfcUnitaryControlElement_type = new entity("IfcUnitaryControlElement", false, 1250, IFC4X3_RC4_IfcDistributionControlElement_type); + IFC4X3_RC4_IfcDistributionBoard_type = new entity("IfcDistributionBoard", false, 314, IFC4X3_RC4_IfcFlowController_type); + IFC4X3_RC4_IfcDistributionChamberElement_type = new entity("IfcDistributionChamberElement", false, 317, IFC4X3_RC4_IfcDistributionFlowElement_type); + IFC4X3_RC4_IfcDistributionCircuit_type = new entity("IfcDistributionCircuit", false, 320, IFC4X3_RC4_IfcDistributionSystem_type); + IFC4X3_RC4_IfcDistributionControlElement_type = new entity("IfcDistributionControlElement", false, 321, IFC4X3_RC4_IfcDistributionElement_type); + IFC4X3_RC4_IfcDuctFitting_type = new entity("IfcDuctFitting", false, 352, IFC4X3_RC4_IfcFlowFitting_type); + IFC4X3_RC4_IfcDuctSegment_type = new entity("IfcDuctSegment", false, 355, IFC4X3_RC4_IfcFlowSegment_type); + IFC4X3_RC4_IfcDuctSilencer_type = new entity("IfcDuctSilencer", false, 358, IFC4X3_RC4_IfcFlowTreatmentDevice_type); + IFC4X3_RC4_IfcElectricAppliance_type = new entity("IfcElectricAppliance", false, 371, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcElectricDistributionBoard_type = new entity("IfcElectricDistributionBoard", false, 378, IFC4X3_RC4_IfcFlowController_type); + IFC4X3_RC4_IfcElectricFlowStorageDevice_type = new entity("IfcElectricFlowStorageDevice", false, 381, IFC4X3_RC4_IfcFlowStorageDevice_type); + IFC4X3_RC4_IfcElectricFlowTreatmentDevice_type = new entity("IfcElectricFlowTreatmentDevice", false, 384, IFC4X3_RC4_IfcFlowTreatmentDevice_type); + IFC4X3_RC4_IfcElectricGenerator_type = new entity("IfcElectricGenerator", false, 387, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcElectricMotor_type = new entity("IfcElectricMotor", false, 390, IFC4X3_RC4_IfcEnergyConversionDevice_type); + IFC4X3_RC4_IfcElectricTimeControl_type = new entity("IfcElectricTimeControl", false, 394, IFC4X3_RC4_IfcFlowController_type); + IFC4X3_RC4_IfcFan_type = new entity("IfcFan", false, 452, IFC4X3_RC4_IfcFlowMovingDevice_type); + IFC4X3_RC4_IfcFilter_type = new entity("IfcFilter", false, 465, IFC4X3_RC4_IfcFlowTreatmentDevice_type); + IFC4X3_RC4_IfcFireSuppressionTerminal_type = new entity("IfcFireSuppressionTerminal", false, 468, IFC4X3_RC4_IfcFlowTerminal_type); + IFC4X3_RC4_IfcFlowInstrument_type = new entity("IfcFlowInstrument", false, 477, IFC4X3_RC4_IfcDistributionControlElement_type); + IFC4X3_RC4_IfcGeomodel_type = new entity("IfcGeomodel", false, 516, IFC4X3_RC4_IfcGeotechnicalAssembly_type); + IFC4X3_RC4_IfcGeoslice_type = new entity("IfcGeoslice", false, 517, IFC4X3_RC4_IfcGeotechnicalAssembly_type); + IFC4X3_RC4_IfcProtectiveDeviceTrippingUnit_type = new entity("IfcProtectiveDeviceTrippingUnit", false, 842, IFC4X3_RC4_IfcDistributionControlElement_type); + IFC4X3_RC4_IfcSensor_type = new entity("IfcSensor", false, 1001, IFC4X3_RC4_IfcDistributionControlElement_type); + IFC4X3_RC4_IfcUnitaryControlElement_type = new entity("IfcUnitaryControlElement", false, 1249, IFC4X3_RC4_IfcDistributionControlElement_type); IFC4X3_RC4_IfcActuator_type = new entity("IfcActuator", false, 9, IFC4X3_RC4_IfcDistributionControlElement_type); IFC4X3_RC4_IfcAlarm_type = new entity("IfcAlarm", false, 26, IFC4X3_RC4_IfcDistributionControlElement_type); IFC4X3_RC4_IfcController_type = new entity("IfcController", false, 231, IFC4X3_RC4_IfcDistributionControlElement_type); @@ -7387,7 +7425,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("StartDistAlong", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); - attributes.push_back(new attribute("HorizontalLength", new named_type(IFC4X3_RC4_IfcPositiveLengthMeasure_type), false)); + attributes.push_back(new attribute("HorizontalLength", new named_type(IFC4X3_RC4_IfcNonNegativeLengthMeasure_type), false)); attributes.push_back(new attribute("StartCantLeft", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("EndCantLeft", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("StartCantRight", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); @@ -7440,11 +7478,11 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("StartDistAlong", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); - attributes.push_back(new attribute("HorizontalLength", new named_type(IFC4X3_RC4_IfcPositiveLengthMeasure_type), false)); + attributes.push_back(new attribute("HorizontalLength", new named_type(IFC4X3_RC4_IfcNonNegativeLengthMeasure_type), false)); attributes.push_back(new attribute("StartHeight", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("StartGradient", new named_type(IFC4X3_RC4_IfcRatioMeasure_type), false)); attributes.push_back(new attribute("EndGradient", new named_type(IFC4X3_RC4_IfcRatioMeasure_type), false)); - attributes.push_back(new attribute("RadiusOfCurvature", new named_type(IFC4X3_RC4_IfcPositiveLengthMeasure_type), true)); + attributes.push_back(new attribute("RadiusOfCurvature", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X3_RC4_IfcAlignmentVerticalSegmentTypeEnum_type), false)); std::vector derived; derived.reserve(9); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); @@ -8564,7 +8602,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("CosineTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); - attributes.push_back(new attribute("ConstantTerm", new named_type(IFC4X3_RC4_IfcReal_type), false)); + attributes.push_back(new attribute("ConstantTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X3_RC4_IfcCosine_type->set_attributes(attributes, derived); @@ -8838,15 +8876,6 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X3_RC4_IfcDirectrixDerivedReferenceSweptAreaSolid_type->set_attributes(attributes, derived); } - { - std::vector attributes; attributes.reserve(3); - attributes.push_back(new attribute("Directrix", new named_type(IFC4X3_RC4_IfcCurve_type), false)); - attributes.push_back(new attribute("StartDistance", new named_type(IFC4X3_RC4_IfcPointByDistanceExpression_type), true)); - attributes.push_back(new attribute("EndDistance", new named_type(IFC4X3_RC4_IfcPointByDistanceExpression_type), true)); - std::vector derived; derived.reserve(5); - derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); - IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type->set_attributes(attributes, derived); - } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X3_RC4_IfcDiscreteAccessoryTypeEnum_type), true)); @@ -10014,13 +10043,6 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X3_RC4_IfcImpactProtectionDeviceType_type->set_attributes(attributes, derived); } - { - std::vector attributes; attributes.reserve(1); - attributes.push_back(new attribute("FixedAxisVertical", new named_type(IFC4X3_RC4_IfcBoolean_type), true)); - std::vector derived; derived.reserve(6); - derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); - IFC4X3_RC4_IfcInclinedReferenceSweptAreaSolid_type->set_attributes(attributes, derived); - } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("MappedTo", new named_type(IFC4X3_RC4_IfcTessellatedFaceSet_type), false)); @@ -11832,6 +11854,14 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X3_RC4_IfcReinforcingMeshType_type->set_attributes(attributes, derived); } + { + std::vector attributes; attributes.reserve(2); + attributes.push_back(new attribute("RelatingElement", new named_type(IFC4X3_RC4_IfcElement_type), false)); + attributes.push_back(new attribute("RelatedSurfaceFeatures", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X3_RC4_IfcSurfaceFeature_type)), false)); + std::vector derived; derived.reserve(6); + derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); + IFC4X3_RC4_IfcRelAdheresToElement_type->set_attributes(attributes, derived); + } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingObject", new named_type(IFC4X3_RC4_IfcObjectDefinition_type), false)); @@ -12126,14 +12156,15 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcRelFlowControlElements_type->set_attributes(attributes, derived); } { - std::vector attributes; attributes.reserve(5); + std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("RelatingElement", new named_type(IFC4X3_RC4_IfcInterferenceSelect_type), false)); attributes.push_back(new attribute("RelatedElement", new named_type(IFC4X3_RC4_IfcInterferenceSelect_type), false)); attributes.push_back(new attribute("InterferenceGeometry", new named_type(IFC4X3_RC4_IfcConnectionGeometry_type), true)); + attributes.push_back(new attribute("InterferenceSpace", new named_type(IFC4X3_RC4_IfcSpatialZone_type), true)); attributes.push_back(new attribute("InterferenceType", new named_type(IFC4X3_RC4_IfcIdentifier_type), true)); attributes.push_back(new attribute("ImpliedOrder", new named_type(IFC4X3_RC4_IfcLogical_type), false)); - std::vector derived; derived.reserve(9); - derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); + std::vector derived; derived.reserve(10); + derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X3_RC4_IfcRelInterferesElements_type->set_attributes(attributes, derived); } { @@ -12428,7 +12459,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("QuadraticTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("LinearTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); - attributes.push_back(new attribute("ConstantTerm", new named_type(IFC4X3_RC4_IfcReal_type), true)); + attributes.push_back(new attribute("ConstantTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X3_RC4_IfcSecondOrderPolynomialSpiral_type->set_attributes(attributes, derived); @@ -12527,7 +12558,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { attributes.push_back(new attribute("CubicTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("QuadraticTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("LinearTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); - attributes.push_back(new attribute("ConstantTerm", new named_type(IFC4X3_RC4_IfcReal_type), true)); + attributes.push_back(new attribute("ConstantTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); std::vector derived; derived.reserve(9); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X3_RC4_IfcSeventhOrderPolynomialSpiral_type->set_attributes(attributes, derived); @@ -12625,11 +12656,12 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcSimplePropertyTemplate_type->set_attributes(attributes, derived); } { - std::vector attributes; attributes.reserve(2); + std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("SineTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); - attributes.push_back(new attribute("LinearTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); - std::vector derived; derived.reserve(3); - derived.push_back(false); derived.push_back(false); derived.push_back(false); + attributes.push_back(new attribute("LinearTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); + attributes.push_back(new attribute("ConstantTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); + std::vector derived; derived.reserve(4); + derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X3_RC4_IfcSine_type->set_attributes(attributes, derived); } { @@ -13635,10 +13667,10 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { } { std::vector attributes; attributes.reserve(4); - attributes.push_back(new attribute("QubicTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); + attributes.push_back(new attribute("CubicTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("QuadraticTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("LinearTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); - attributes.push_back(new attribute("ConstantTerm", new named_type(IFC4X3_RC4_IfcReal_type), true)); + attributes.push_back(new attribute("ConstantTerm", new named_type(IFC4X3_RC4_IfcLengthMeasure_type), true)); std::vector derived; derived.reserve(5); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X3_RC4_IfcThirdOrderPolynomialSpiral_type->set_attributes(attributes, derived); @@ -14255,7 +14287,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcDocumentReference_type->set_inverse_attributes(attributes); } { - std::vector attributes; attributes.reserve(11); + std::vector attributes; attributes.reserve(12); attributes.push_back(new inverse_attribute("FillsVoids", inverse_attribute::set_type, 0, 1, IFC4X3_RC4_IfcRelFillsElement_type, IFC4X3_RC4_IfcRelFillsElement_type->attributes()[1])); attributes.push_back(new inverse_attribute("ConnectedTo", inverse_attribute::set_type, 0, -1, IFC4X3_RC4_IfcRelConnectsElements_type, IFC4X3_RC4_IfcRelConnectsElements_type->attributes()[1])); attributes.push_back(new inverse_attribute("IsInterferedByElements", inverse_attribute::set_type, 0, -1, IFC4X3_RC4_IfcRelInterferesElements_type, IFC4X3_RC4_IfcRelInterferesElements_type->attributes()[1])); @@ -14267,6 +14299,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { attributes.push_back(new inverse_attribute("ConnectedFrom", inverse_attribute::set_type, 0, -1, IFC4X3_RC4_IfcRelConnectsElements_type, IFC4X3_RC4_IfcRelConnectsElements_type->attributes()[2])); attributes.push_back(new inverse_attribute("ContainedInStructure", inverse_attribute::set_type, 0, 1, IFC4X3_RC4_IfcRelContainedInSpatialStructure_type, IFC4X3_RC4_IfcRelContainedInSpatialStructure_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasCoverings", inverse_attribute::set_type, 0, -1, IFC4X3_RC4_IfcRelCoversBldgElements_type, IFC4X3_RC4_IfcRelCoversBldgElements_type->attributes()[0])); + attributes.push_back(new inverse_attribute("HasSurfaceFeatures", inverse_attribute::set_type, 0, -1, IFC4X3_RC4_IfcRelAdheresToElement_type, IFC4X3_RC4_IfcRelAdheresToElement_type->attributes()[0])); IFC4X3_RC4_IfcElement_type->set_inverse_attributes(attributes); } { @@ -14586,6 +14619,11 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { attributes.push_back(new inverse_attribute("ResultGroupFor", inverse_attribute::set_type, 0, 1, IFC4X3_RC4_IfcStructuralAnalysisModel_type, IFC4X3_RC4_IfcStructuralAnalysisModel_type->attributes()[3])); IFC4X3_RC4_IfcStructuralResultGroup_type->set_inverse_attributes(attributes); } + { + std::vector attributes; attributes.reserve(1); + attributes.push_back(new inverse_attribute("AdheresToElement", inverse_attribute::unspecified_type, -1, -1, IFC4X3_RC4_IfcRelAdheresToElement_type, IFC4X3_RC4_IfcRelAdheresToElement_type->attributes()[1])); + IFC4X3_RC4_IfcSurfaceFeature_type->set_inverse_attributes(attributes); + } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("IsMappedBy", inverse_attribute::set_type, 0, -1, IFC4X3_RC4_IfcTextureCoordinate_type, IFC4X3_RC4_IfcTextureCoordinate_type->attributes()[0])); @@ -15075,8 +15113,8 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcElementarySurface_type->set_subtypes(defs); } { - std::vector defs; defs.reserve(4); - defs.push_back(IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type);defs.push_back(IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type);defs.push_back(IFC4X3_RC4_IfcExtrudedAreaSolid_type);defs.push_back(IFC4X3_RC4_IfcRevolvedAreaSolid_type); + std::vector defs; defs.reserve(3); + defs.push_back(IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type);defs.push_back(IFC4X3_RC4_IfcExtrudedAreaSolid_type);defs.push_back(IFC4X3_RC4_IfcRevolvedAreaSolid_type); IFC4X3_RC4_IfcSweptAreaSolid_type->set_subtypes(defs); } { @@ -15294,11 +15332,6 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { defs.push_back(IFC4X3_RC4_IfcGridPlacement_type);defs.push_back(IFC4X3_RC4_IfcLinearPlacement_type);defs.push_back(IFC4X3_RC4_IfcLocalPlacement_type); IFC4X3_RC4_IfcObjectPlacement_type->set_subtypes(defs); } - { - std::vector defs; defs.reserve(1); - defs.push_back(IFC4X3_RC4_IfcInclinedReferenceSweptAreaSolid_type); - IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type->set_subtypes(defs); - } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X3_RC4_IfcIndexedPolygonalFace_type);defs.push_back(IFC4X3_RC4_IfcTessellatedFaceSet_type); @@ -15530,8 +15563,8 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcReinforcingElementType_type->set_subtypes(defs); } { - std::vector defs; defs.reserve(4); - defs.push_back(IFC4X3_RC4_IfcRelAggregates_type);defs.push_back(IFC4X3_RC4_IfcRelNests_type);defs.push_back(IFC4X3_RC4_IfcRelProjectsElement_type);defs.push_back(IFC4X3_RC4_IfcRelVoidsElement_type); + std::vector defs; defs.reserve(5); + defs.push_back(IFC4X3_RC4_IfcRelAdheresToElement_type);defs.push_back(IFC4X3_RC4_IfcRelAggregates_type);defs.push_back(IFC4X3_RC4_IfcRelNests_type);defs.push_back(IFC4X3_RC4_IfcRelProjectsElement_type);defs.push_back(IFC4X3_RC4_IfcRelVoidsElement_type); IFC4X3_RC4_IfcRelDecomposes_type->set_subtypes(defs); } { @@ -15775,7 +15808,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { IFC4X3_RC4_IfcWorkControl_type->set_subtypes(defs); } - std::vector declarations; declarations.reserve(1317); + std::vector declarations; declarations.reserve(1316); declarations.push_back(IFC4X3_RC4_IfcAbsorbedDoseMeasure_type); declarations.push_back(IFC4X3_RC4_IfcAccelerationMeasure_type); declarations.push_back(IFC4X3_RC4_IfcActionRequest_type); @@ -16087,7 +16120,6 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { declarations.push_back(IFC4X3_RC4_IfcDirectionSenseEnum_type); declarations.push_back(IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type); declarations.push_back(IFC4X3_RC4_IfcDirectrixDerivedReferenceSweptAreaSolid_type); - declarations.push_back(IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type); declarations.push_back(IFC4X3_RC4_IfcDiscreteAccessory_type); declarations.push_back(IFC4X3_RC4_IfcDiscreteAccessoryType_type); declarations.push_back(IFC4X3_RC4_IfcDiscreteAccessoryTypeEnum_type); @@ -16324,7 +16356,6 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { declarations.push_back(IFC4X3_RC4_IfcImpactProtectionDeviceType_type); declarations.push_back(IFC4X3_RC4_IfcImpactProtectionDeviceTypeEnum_type); declarations.push_back(IFC4X3_RC4_IfcImpactProtectionDeviceTypeSelect_type); - declarations.push_back(IFC4X3_RC4_IfcInclinedReferenceSweptAreaSolid_type); declarations.push_back(IFC4X3_RC4_IfcIndexedColourMap_type); declarations.push_back(IFC4X3_RC4_IfcIndexedPolyCurve_type); declarations.push_back(IFC4X3_RC4_IfcIndexedPolygonalFace_type); @@ -16681,6 +16712,7 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { declarations.push_back(IFC4X3_RC4_IfcReinforcingMesh_type); declarations.push_back(IFC4X3_RC4_IfcReinforcingMeshType_type); declarations.push_back(IFC4X3_RC4_IfcReinforcingMeshTypeEnum_type); + declarations.push_back(IFC4X3_RC4_IfcRelAdheresToElement_type); declarations.push_back(IFC4X3_RC4_IfcRelAggregates_type); declarations.push_back(IFC4X3_RC4_IfcRelAssigns_type); declarations.push_back(IFC4X3_RC4_IfcRelAssignsToActor_type); diff --git a/src/ifcparse/Ifc4x3_rc4.cpp b/src/ifcparse/Ifc4x3_rc4.cpp index f41890c75d..19fde12dff 100644 --- a/src/ifcparse/Ifc4x3_rc4.cpp +++ b/src/ifcparse/Ifc4x3_rc4.cpp @@ -1,3 +1,28 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ #include "../ifcparse/Ifc4x3_rc4.h" #include "../ifcparse/IfcSchema.h" @@ -215,7 +240,6 @@ extern entity* IFC4X3_RC4_IfcDimensionalExponents_type; extern entity* IFC4X3_RC4_IfcDirection_type; extern entity* IFC4X3_RC4_IfcDirectrixCurveSweptAreaSolid_type; extern entity* IFC4X3_RC4_IfcDirectrixDerivedReferenceSweptAreaSolid_type; -extern entity* IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type; extern entity* IFC4X3_RC4_IfcDiscreteAccessory_type; extern entity* IFC4X3_RC4_IfcDiscreteAccessoryType_type; extern entity* IFC4X3_RC4_IfcDistributionBoard_type; @@ -375,7 +399,6 @@ extern entity* IFC4X3_RC4_IfcIShapeProfileDef_type; extern entity* IFC4X3_RC4_IfcImageTexture_type; extern entity* IFC4X3_RC4_IfcImpactProtectionDevice_type; extern entity* IFC4X3_RC4_IfcImpactProtectionDeviceType_type; -extern entity* IFC4X3_RC4_IfcInclinedReferenceSweptAreaSolid_type; extern entity* IFC4X3_RC4_IfcIndexedColourMap_type; extern entity* IFC4X3_RC4_IfcIndexedPolyCurve_type; extern entity* IFC4X3_RC4_IfcIndexedPolygonalFace_type; @@ -602,6 +625,7 @@ extern entity* IFC4X3_RC4_IfcReinforcingElement_type; extern entity* IFC4X3_RC4_IfcReinforcingElementType_type; extern entity* IFC4X3_RC4_IfcReinforcingMesh_type; extern entity* IFC4X3_RC4_IfcReinforcingMeshType_type; +extern entity* IFC4X3_RC4_IfcRelAdheresToElement_type; extern entity* IFC4X3_RC4_IfcRelAggregates_type; extern entity* IFC4X3_RC4_IfcRelAssigns_type; extern entity* IFC4X3_RC4_IfcRelAssignsToActor_type; @@ -1275,12 +1299,14 @@ Ifc4x3_rc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActionRequestTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActionRequestTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1315,12 +1341,14 @@ Ifc4x3_rc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActionSourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActionSourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1375,12 +1403,14 @@ Ifc4x3_rc4::IfcActionTypeEnum::IfcActionTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcActionTypeEnum::IfcActionTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1413,12 +1443,14 @@ Ifc4x3_rc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActuatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActuatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1453,12 +1485,14 @@ Ifc4x3_rc4::IfcAddressTypeEnum::IfcAddressTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAddressTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAddressTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1491,12 +1525,14 @@ Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminalBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminalBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1529,12 +1565,14 @@ Ifc4x3_rc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1568,12 +1606,14 @@ Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Ifc } Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirToAirHeatRecoveryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirToAirHeatRecoveryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1612,12 +1652,14 @@ Ifc4x3_rc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlarmTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlarmTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1655,12 +1697,14 @@ Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(Ifc } Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentCantSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentCantSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1668,16 +1712,16 @@ Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentTypeEnum(con const char* Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "CONSTANTCANT", "LINEARTRANSITION", "HELMERTCURVE", "BLOSSCURVE", "COSINECURVE", "SINECURVE", "VIENNESEBEND" }; + const char* names[] = { "BLOSSCURVE", "CONSTANTCANT", "COSINECURVE", "HELMERTCURVE", "LINEARTRANSITION", "SINECURVE", "VIENNESEBEND" }; return names[v]; } Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::FromString(const std::string& s) { - if (s == "CONSTANTCANT") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_CONSTANTCANT; - if (s == "LINEARTRANSITION") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_LINEARTRANSITION; - if (s == "HELMERTCURVE") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_HELMERTCURVE; if (s == "BLOSSCURVE") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_BLOSSCURVE; + if (s == "CONSTANTCANT") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_CONSTANTCANT; if (s == "COSINECURVE") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_COSINECURVE; + if (s == "HELMERTCURVE") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_HELMERTCURVE; + if (s == "LINEARTRANSITION") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_LINEARTRANSITION; if (s == "SINECURVE") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_SINECURVE; if (s == "VIENNESEBEND") return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::IfcAlignmentCantSegmentType_VIENNESEBEND; throw IfcException("Unable to find find keyword in schema"); @@ -1695,20 +1739,22 @@ Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegment } Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentHorizontalSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentHorizontalSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::ToString(Value v) { - if ( v < 0 || v >= 10 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "LINE", "CIRCULARARC", "CLOTHOID", "CUBIC", "HELMERTCURVE", "BLOSSCURVE", "CUBICSPIRAL", "COSINECURVE", "SINECURVE", "VIENNESEBEND" }; + if ( v < 0 || v >= 9 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "LINE", "CIRCULARARC", "CLOTHOID", "CUBIC", "HELMERTCURVE", "BLOSSCURVE", "COSINECURVE", "SINECURVE", "VIENNESEBEND" }; return names[v]; } @@ -1719,7 +1765,6 @@ Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmen if (s == "CUBIC") return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentType_CUBIC; if (s == "HELMERTCURVE") return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentType_HELMERTCURVE; if (s == "BLOSSCURVE") return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentType_BLOSSCURVE; - if (s == "CUBICSPIRAL") return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentType_CUBICSPIRAL; if (s == "COSINECURVE") return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentType_COSINECURVE; if (s == "SINECURVE") return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentType_SINECURVE; if (s == "VIENNESEBEND") return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::IfcAlignmentHorizontalSegmentType_VIENNESEBEND; @@ -1738,12 +1783,14 @@ Ifc4x3_rc4::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAlignmentTypeEnum::IfcAlignmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1773,12 +1820,14 @@ Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentType } Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentVerticalSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentVerticalSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1810,12 +1859,14 @@ Ifc4x3_rc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAnalysisModelTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAnalysisModelTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1848,12 +1899,14 @@ Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAnalysisTheoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAnalysisTheoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1887,12 +1940,14 @@ Ifc4x3_rc4::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAnnotationTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAnnotationTypeEnum::IfcAnnotationTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAnnotationTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1931,12 +1986,14 @@ Ifc4x3_rc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(IfcEntityInstan } Ifc4x3_rc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcArithmeticOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcArithmeticOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -1968,12 +2025,14 @@ Ifc4x3_rc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAssemblyPlaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAssemblyPlaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2004,20 +2063,22 @@ Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Ifc } Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAudioVisualApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAudioVisualApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::ToString(Value v) { - if ( v < 0 || v >= 14 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "AMPLIFIER", "CAMERA", "DISPLAY", "MICROPHONE", "PLAYER", "PROJECTOR", "RECEIVER", "SPEAKER", "SWITCHER", "TELEPHONE", "TUNER", "RAILWAY_COMMUNICATION_TERMINAL", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 15 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "AMPLIFIER", "CAMERA", "DISPLAY", "MICROPHONE", "PLAYER", "PROJECTOR", "RECEIVER", "SPEAKER", "SWITCHER", "TELEPHONE", "TUNER", "COMMUNICATIONTERMINAL", "RECORDINGEQUIPMENT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } @@ -2033,7 +2094,8 @@ Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc4::IfcAudioVisualApp if (s == "SWITCHER") return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_SWITCHER; if (s == "TELEPHONE") return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_TELEPHONE; if (s == "TUNER") return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_TUNER; - if (s == "RAILWAY_COMMUNICATION_TERMINAL") return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_RAILWAY_COMMUNICATION_TERMINAL; + if (s == "COMMUNICATIONTERMINAL") return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_COMMUNICATIONTERMINAL; + if (s == "RECORDINGEQUIPMENT") return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_RECORDINGEQUIPMENT; if (s == "USERDEFINED") return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); @@ -2051,12 +2113,14 @@ Ifc4x3_rc4::IfcBSplineCurveForm::IfcBSplineCurveForm(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineCurveForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineCurveForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2090,12 +2154,14 @@ Ifc4x3_rc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(IfcEntityInstanceData* } Ifc4x3_rc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineSurfaceForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineSurfaceForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2134,12 +2200,14 @@ Ifc4x3_rc4::IfcBeamTypeEnum::IfcBeamTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2181,12 +2249,14 @@ Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(IfcEn } Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBearingTypeDisplacementEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::IfcBearingTypeDisplacementEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBearingTypeDisplacementEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2219,12 +2289,14 @@ Ifc4x3_rc4::IfcBearingTypeEnum::IfcBearingTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcBearingTypeEnum::IfcBearingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBearingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBearingTypeEnum::IfcBearingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBearingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2262,12 +2334,14 @@ Ifc4x3_rc4::IfcBenchmarkEnum::IfcBenchmarkEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBenchmarkEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBenchmarkEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2305,12 +2379,14 @@ Ifc4x3_rc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoilerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoilerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2342,12 +2418,14 @@ Ifc4x3_rc4::IfcBooleanOperator::IfcBooleanOperator(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcBooleanOperator::IfcBooleanOperator(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBooleanOperator_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBooleanOperator::IfcBooleanOperator(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBooleanOperator_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2378,12 +2456,14 @@ Ifc4x3_rc4::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBridgePartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBridgePartTypeEnum::IfcBridgePartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBridgePartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2423,12 +2503,14 @@ Ifc4x3_rc4::IfcBridgeTypeEnum::IfcBridgeTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcBridgeTypeEnum::IfcBridgeTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBridgeTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBridgeTypeEnum::IfcBridgeTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBridgeTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2466,12 +2548,14 @@ Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(IfcEn } Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2506,12 +2590,14 @@ Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Ifc } Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementProxyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementProxyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2546,12 +2632,14 @@ Ifc4x3_rc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2590,12 +2678,14 @@ Ifc4x3_rc4::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuiltSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBuiltSystemTypeEnum::IfcBuiltSystemTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuiltSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2636,12 +2726,14 @@ Ifc4x3_rc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBurnerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBurnerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2671,12 +2763,14 @@ Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(IfcEn } Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2710,12 +2804,14 @@ Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(IfcEn } Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2752,12 +2848,14 @@ Ifc4x3_rc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2793,12 +2891,14 @@ Ifc4x3_rc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2838,12 +2938,14 @@ Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(IfcEntity } Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCaissonFoundationTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::IfcCaissonFoundationTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCaissonFoundationTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2875,12 +2977,14 @@ Ifc4x3_rc4::IfcChangeActionEnum::IfcChangeActionEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChangeActionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcChangeActionEnum::IfcChangeActionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChangeActionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2913,12 +3017,14 @@ Ifc4x3_rc4::IfcChillerTypeEnum::IfcChillerTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChillerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChillerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2951,12 +3057,14 @@ Ifc4x3_rc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChimneyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChimneyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -2986,12 +3094,14 @@ Ifc4x3_rc4::IfcCoilTypeEnum::IfcCoilTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3028,12 +3138,14 @@ Ifc4x3_rc4::IfcColumnTypeEnum::IfcColumnTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcColumnTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcColumnTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3068,20 +3180,22 @@ Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEn } Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::ToString(Value v) { - if ( v < 0 || v >= 23 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "ANTENNA", "COMPUTER", "FAX", "GATEWAY", "MODEM", "NETWORKAPPLIANCE", "NETWORKBRIDGE", "NETWORKHUB", "PRINTER", "REPEATER", "ROUTER", "SCANNER", "AUTOMATON", "INTELLIGENT_PERIPHERAL", "IP_NETWORK_EQUIPMENT", "OPTICAL_NETWORK_UNIT", "TELECOMMAND", "TELEPHONYEXCHANGE", "TRANSITIONCOMPONENT", "TRANSPONDER", "TRANSPORTEQUIPMENT", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 26 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "ANTENNA", "COMPUTER", "FAX", "GATEWAY", "MODEM", "NETWORKAPPLIANCE", "NETWORKBRIDGE", "NETWORKHUB", "PRINTER", "REPEATER", "ROUTER", "SCANNER", "AUTOMATON", "INTELLIGENTPERIPHERAL", "IPNETWORKEQUIPMENT", "OPTICALNETWORKUNIT", "TELECOMMAND", "TELEPHONYEXCHANGE", "TRANSITIONCOMPONENT", "TRANSPONDER", "TRANSPORTEQUIPMENT", "OPTICALLINETERMINAL", "LINESIDEELECTRONICUNIT", "RADIOBLOCKCENTER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } @@ -3099,14 +3213,17 @@ Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcCommunicati if (s == "ROUTER") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_ROUTER; if (s == "SCANNER") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_SCANNER; if (s == "AUTOMATON") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_AUTOMATON; - if (s == "INTELLIGENT_PERIPHERAL") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_INTELLIGENT_PERIPHERAL; - if (s == "IP_NETWORK_EQUIPMENT") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_IP_NETWORK_EQUIPMENT; - if (s == "OPTICAL_NETWORK_UNIT") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_OPTICAL_NETWORK_UNIT; + if (s == "INTELLIGENTPERIPHERAL") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_INTELLIGENTPERIPHERAL; + if (s == "IPNETWORKEQUIPMENT") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_IPNETWORKEQUIPMENT; + if (s == "OPTICALNETWORKUNIT") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_OPTICALNETWORKUNIT; if (s == "TELECOMMAND") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_TELECOMMAND; if (s == "TELEPHONYEXCHANGE") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_TELEPHONYEXCHANGE; if (s == "TRANSITIONCOMPONENT") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_TRANSITIONCOMPONENT; if (s == "TRANSPONDER") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_TRANSPONDER; if (s == "TRANSPORTEQUIPMENT") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT; + if (s == "OPTICALLINETERMINAL") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_OPTICALLINETERMINAL; + if (s == "LINESIDEELECTRONICUNIT") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_LINESIDEELECTRONICUNIT; + if (s == "RADIOBLOCKCENTER") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_RADIOBLOCKCENTER; if (s == "USERDEFINED") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); @@ -3124,12 +3241,14 @@ Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEn } Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcComplexPropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcComplexPropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3159,12 +3278,14 @@ Ifc4x3_rc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompressorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompressorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3209,12 +3330,14 @@ Ifc4x3_rc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCondenserTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCondenserTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3251,12 +3374,14 @@ Ifc4x3_rc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3288,12 +3413,14 @@ Ifc4x3_rc4::IfcConstraintEnum::IfcConstraintEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcConstraintEnum::IfcConstraintEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstraintEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcConstraintEnum::IfcConstraintEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstraintEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3326,12 +3453,14 @@ Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentRe } Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionEquipmentResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionEquipmentResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3369,12 +3498,14 @@ Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialReso } Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionMaterialResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionMaterialResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3413,12 +3544,14 @@ Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResour } Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionProductResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionProductResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3450,12 +3583,14 @@ Ifc4x3_rc4::IfcControllerTypeEnum::IfcControllerTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcControllerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcControllerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3490,12 +3625,14 @@ Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(IfcEntityInst } Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConveyorSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::IfcConveyorSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConveyorSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3529,12 +3666,14 @@ Ifc4x3_rc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCooledBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCooledBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3566,12 +3705,14 @@ Ifc4x3_rc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoolingTowerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoolingTowerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3604,12 +3745,14 @@ Ifc4x3_rc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCostItemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCostItemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3639,12 +3782,14 @@ Ifc4x3_rc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCostScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCostScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3681,12 +3826,14 @@ Ifc4x3_rc4::IfcCourseTypeEnum::IfcCourseTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcCourseTypeEnum::IfcCourseTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCourseTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCourseTypeEnum::IfcCourseTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCourseTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3722,12 +3869,14 @@ Ifc4x3_rc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoveringTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoveringTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3768,12 +3917,14 @@ Ifc4x3_rc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCrewResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCrewResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3805,12 +3956,14 @@ Ifc4x3_rc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurtainWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurtainWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3840,12 +3993,14 @@ Ifc4x3_rc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(IfcEntityInstan } Ifc4x3_rc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveInterpolationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveInterpolationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3877,12 +4032,14 @@ Ifc4x3_rc4::IfcDamperTypeEnum::IfcDamperTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3923,12 +4080,14 @@ Ifc4x3_rc4::IfcDataOriginEnum::IfcDataOriginEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDataOriginEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDataOriginEnum::IfcDataOriginEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDataOriginEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -3961,12 +4120,14 @@ Ifc4x3_rc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDerivedUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDerivedUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4047,12 +4208,14 @@ Ifc4x3_rc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDirectionSenseEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDirectionSenseEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4082,12 +4245,14 @@ Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(IfcEntity } Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDiscreteAccessoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDiscreteAccessoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4136,20 +4301,22 @@ Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(IfcEntity } Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4x3_rc4::IfcDistributionBoardTypeEnum::ToString(Value v) { - if ( v < 0 || v >= 7 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "SWITCHBOARD", "CONSUMERUNIT", "MOTORCONTROLCENTRE", "DISTRIBUTIONFRAME", "DISTRIBUTIONBOARD", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 8 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "SWITCHBOARD", "CONSUMERUNIT", "MOTORCONTROLCENTRE", "DISTRIBUTIONFRAME", "DISTRIBUTIONBOARD", "DISPATCHINGBOARD", "USERDEFINED", "NOTDEFINED" }; return names[v]; } @@ -4159,6 +4326,7 @@ Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcDistributionBoard if (s == "MOTORCONTROLCENTRE") return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardType_MOTORCONTROLCENTRE; if (s == "DISTRIBUTIONFRAME") return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardType_DISTRIBUTIONFRAME; if (s == "DISTRIBUTIONBOARD") return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardType_DISTRIBUTIONBOARD; + if (s == "DISPATCHINGBOARD") return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardType_DISPATCHINGBOARD; if (s == "USERDEFINED") return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::IfcDistributionBoardType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); @@ -4176,12 +4344,14 @@ Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElement } Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionChamberElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionChamberElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4219,12 +4389,14 @@ Ifc4x3_rc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(IfcEntityIn } Ifc4x3_rc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionPortTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionPortTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4259,20 +4431,22 @@ Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(IfcEntityInstan } Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionSystemEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionSystemEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(Value v) { - if ( v < 0 || v >= 47 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "AIRCONDITIONING", "AUDIOVISUAL", "CHEMICAL", "CHILLEDWATER", "COMMUNICATION", "COMPRESSEDAIR", "CONDENSERWATER", "CONTROL", "CONVEYING", "DATA", "DISPOSAL", "DOMESTICCOLDWATER", "DOMESTICHOTWATER", "DRAINAGE", "EARTHING", "ELECTRICAL", "ELECTROACOUSTIC", "EXHAUST", "FIREPROTECTION", "FUEL", "GAS", "HAZARDOUS", "HEATING", "LIGHTING", "LIGHTNINGPROTECTION", "MUNICIPALSOLIDWASTE", "OIL", "OPERATIONAL", "POWERGENERATION", "RAINWATER", "REFRIGERATION", "SECURITY", "SEWAGE", "SIGNAL", "STORMWATER", "TELEPHONE", "TV", "VACUUM", "VENT", "VENTILATION", "WASTEWATER", "WATERSUPPLY", "CATENARY_SYSTEM", "OVERHEAD_CONTACTLINE_SYSTEM", "RETURN_CIRCUIT", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 51 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "AIRCONDITIONING", "AUDIOVISUAL", "CHEMICAL", "CHILLEDWATER", "COMMUNICATION", "COMPRESSEDAIR", "CONDENSERWATER", "CONTROL", "CONVEYING", "DATA", "DISPOSAL", "DOMESTICCOLDWATER", "DOMESTICHOTWATER", "DRAINAGE", "EARTHING", "ELECTRICAL", "ELECTROACOUSTIC", "EXHAUST", "FIREPROTECTION", "FUEL", "GAS", "HAZARDOUS", "HEATING", "LIGHTING", "LIGHTNINGPROTECTION", "MUNICIPALSOLIDWASTE", "OIL", "OPERATIONAL", "POWERGENERATION", "RAINWATER", "REFRIGERATION", "SECURITY", "SEWAGE", "SIGNAL", "STORMWATER", "TELEPHONE", "TV", "VACUUM", "VENT", "VENTILATION", "WASTEWATER", "WATERSUPPLY", "CATENARY_SYSTEM", "OVERHEAD_CONTACTLINE_SYSTEM", "RETURN_CIRCUIT", "FIXEDTRANSMISSIONNETWORK", "OPERATIONALTELEPHONYSYSTEM", "MOBILENETWORK", "MONITORINGSYSTEM", "USERDEFINED", "NOTDEFINED" }; return names[v]; } @@ -4322,6 +4496,10 @@ Ifc4x3_rc4::IfcDistributionSystemEnum::Value Ifc4x3_rc4::IfcDistributionSystemEn if (s == "CATENARY_SYSTEM") return ::Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystem_CATENARY_SYSTEM; if (s == "OVERHEAD_CONTACTLINE_SYSTEM") return ::Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM; if (s == "RETURN_CIRCUIT") return ::Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystem_RETURN_CIRCUIT; + if (s == "FIXEDTRANSMISSIONNETWORK") return ::Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystem_FIXEDTRANSMISSIONNETWORK; + if (s == "OPERATIONALTELEPHONYSYSTEM") return ::Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystem_OPERATIONALTELEPHONYSYSTEM; + if (s == "MOBILENETWORK") return ::Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystem_MOBILENETWORK; + if (s == "MONITORINGSYSTEM") return ::Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystem_MONITORINGSYSTEM; if (s == "USERDEFINED") return ::Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystem_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4x3_rc4::IfcDistributionSystemEnum::IfcDistributionSystem_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); @@ -4339,12 +4517,14 @@ Ifc4x3_rc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(IfcEn } Ifc4x3_rc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentConfidentialityEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentConfidentialityEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4378,12 +4558,14 @@ Ifc4x3_rc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentStatusEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentStatusEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4416,12 +4598,14 @@ Ifc4x3_rc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(IfcEntityInstan } Ifc4x3_rc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4458,12 +4642,14 @@ Ifc4x3_rc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(IfcEntityInstance } Ifc4x3_rc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4495,12 +4681,14 @@ Ifc4x3_rc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(IfcEntity } Ifc4x3_rc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4537,12 +4725,14 @@ Ifc4x3_rc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(IfcEntityInstan } Ifc4x3_rc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4588,12 +4778,14 @@ Ifc4x3_rc4::IfcDoorTypeEnum::IfcDoorTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4628,12 +4820,14 @@ Ifc4x3_rc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(IfcEntityInstance } Ifc4x3_rc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorTypeOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorTypeOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4686,12 +4880,14 @@ Ifc4x3_rc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4728,12 +4924,14 @@ Ifc4x3_rc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4765,12 +4963,14 @@ Ifc4x3_rc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctSilencerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctSilencerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4803,12 +5003,14 @@ Ifc4x3_rc4::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEarthworksCutTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcEarthworksCutTypeEnum::IfcEarthworksCutTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEarthworksCutTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4847,12 +5049,14 @@ Ifc4x3_rc4::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEarthworksFillTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcEarthworksFillTypeEnum::IfcEarthworksFillTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEarthworksFillTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4889,12 +5093,14 @@ Ifc4x3_rc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(IfcEntity } Ifc4x3_rc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4940,12 +5146,14 @@ Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTy } Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -4979,12 +5187,14 @@ Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTy } Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowStorageDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowStorageDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5023,12 +5233,14 @@ Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDevi } Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowTreatmentDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::IfcElectricFlowTreatmentDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowTreatmentDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5059,12 +5271,14 @@ Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(IfcEntity } Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricGeneratorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricGeneratorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5097,12 +5311,14 @@ Ifc4x3_rc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricMotorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricMotorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5137,12 +5353,14 @@ Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(IfcEn } Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricTimeControlTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricTimeControlTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5175,12 +5393,14 @@ Ifc4x3_rc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(IfcEntityInst } Ifc4x3_rc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementAssemblyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementAssemblyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5238,12 +5458,14 @@ Ifc4x3_rc4::IfcElementCompositionEnum::IfcElementCompositionEnum(IfcEntityInstan } Ifc4x3_rc4::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementCompositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementCompositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5274,12 +5496,14 @@ Ifc4x3_rc4::IfcEngineTypeEnum::IfcEngineTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEngineTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEngineTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5311,12 +5535,14 @@ Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(IfcEntity } Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporativeCoolerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporativeCoolerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5355,12 +5581,14 @@ Ifc4x3_rc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5396,12 +5624,14 @@ Ifc4x3_rc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEventTriggerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEventTriggerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5435,12 +5665,14 @@ Ifc4x3_rc4::IfcEventTypeEnum::IfcEventTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEventTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcEventTypeEnum::IfcEventTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEventTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5473,12 +5705,14 @@ Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum } Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalSpatialElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalSpatialElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5512,12 +5746,14 @@ Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(IfcEnti } Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFacilityPartCommonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::IfcFacilityPartCommonTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFacilityPartCommonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5555,12 +5791,14 @@ Ifc4x3_rc4::IfcFacilityUsageEnum::IfcFacilityUsageEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcFacilityUsageEnum::IfcFacilityUsageEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFacilityUsageEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFacilityUsageEnum::IfcFacilityUsageEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFacilityUsageEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5594,12 +5832,14 @@ Ifc4x3_rc4::IfcFanTypeEnum::IfcFanTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFanTypeEnum::IfcFanTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5636,12 +5876,14 @@ Ifc4x3_rc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5674,12 +5916,14 @@ Ifc4x3_rc4::IfcFilterTypeEnum::IfcFilterTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFilterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFilterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5715,12 +5959,14 @@ Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEn } Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFireSuppressionTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFireSuppressionTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5756,12 +6002,14 @@ Ifc4x3_rc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5793,12 +6041,14 @@ Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowInstrumentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowInstrumentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5838,12 +6088,14 @@ Ifc4x3_rc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowMeterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowMeterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5877,12 +6129,14 @@ Ifc4x3_rc4::IfcFootingTypeEnum::IfcFootingTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFootingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFootingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5917,12 +6171,14 @@ Ifc4x3_rc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFurnitureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFurnitureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5960,12 +6216,14 @@ Ifc4x3_rc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(IfcEntity } Ifc4x3_rc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeographicElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeographicElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -5997,12 +6255,14 @@ Ifc4x3_rc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(IfcEntityInst } Ifc4x3_rc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricProjectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricProjectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6039,12 +6299,14 @@ Ifc4x3_rc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGlobalOrLocalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGlobalOrLocalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6074,12 +6336,14 @@ Ifc4x3_rc4::IfcGridTypeEnum::IfcGridTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGridTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcGridTypeEnum::IfcGridTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGridTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6113,12 +6377,14 @@ Ifc4x3_rc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHeatExchangerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHeatExchangerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6151,12 +6417,14 @@ Ifc4x3_rc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHumidifierTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHumidifierTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6199,12 +6467,14 @@ Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum } Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcImpactProtectionDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::IfcImpactProtectionDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcImpactProtectionDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6238,12 +6508,14 @@ Ifc4x3_rc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInterceptorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInterceptorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6277,12 +6549,14 @@ Ifc4x3_rc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(IfcEntityInstan } Ifc4x3_rc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInternalOrExternalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInternalOrExternalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6316,12 +6590,14 @@ Ifc4x3_rc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInventoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInventoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6354,12 +6630,14 @@ Ifc4x3_rc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcJunctionBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcJunctionBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6391,12 +6669,14 @@ Ifc4x3_rc4::IfcKnotType::IfcKnotType(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcKnotType::IfcKnotType(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcKnotType_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcKnotType::IfcKnotType(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcKnotType_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6428,12 +6708,14 @@ Ifc4x3_rc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLaborResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLaborResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6482,12 +6764,14 @@ Ifc4x3_rc4::IfcLampTypeEnum::IfcLampTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcLampTypeEnum::IfcLampTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6526,12 +6810,14 @@ Ifc4x3_rc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(IfcEntityInstance } Ifc4x3_rc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLayerSetDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLayerSetDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6562,12 +6848,14 @@ Ifc4x3_rc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(IfcEnti } Ifc4x3_rc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightDistributionCurveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightDistributionCurveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6599,12 +6887,14 @@ Ifc4x3_rc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(IfcEntityInst } Ifc4x3_rc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightEmissionSourceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightEmissionSourceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6643,12 +6933,14 @@ Ifc4x3_rc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightFixtureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightFixtureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6681,12 +6973,14 @@ Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLiquidTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::IfcLiquidTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLiquidTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6718,12 +7012,14 @@ Ifc4x3_rc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLoadGroupTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLoadGroupTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6756,12 +7052,14 @@ Ifc4x3_rc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLogicalOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLogicalOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6794,12 +7092,14 @@ Ifc4x3_rc4::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMarineFacilityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcMarineFacilityTypeEnum::IfcMarineFacilityTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMarineFacilityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6848,12 +7148,14 @@ Ifc4x3_rc4::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMarinePartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcMarinePartTypeEnum::IfcMarinePartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMarinePartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6907,12 +7209,14 @@ Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(IfcEnti } Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMechanicalFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMechanicalFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6957,12 +7261,14 @@ Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMedicalDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMedicalDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -6997,12 +7303,14 @@ Ifc4x3_rc4::IfcMemberTypeEnum::IfcMemberTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7051,31 +7359,39 @@ Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunica } Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMobileTelecommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMobileTelecommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(Value v) { - if ( v < 0 || v >= 9 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "E_UTRAN_NODE_B", "REMOTE_RADIO_UNIT", "ACCESSPOINT", "BASETRANSCEIVERSTATION", "REMOTEUNIT", "BASEBANDUNIT", "MASTERUNIT", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 15 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "E_UTRAN_NODE_B", "REMOTERADIOUNIT", "ACCESSPOINT", "BASETRANSCEIVERSTATION", "REMOTEUNIT", "BASEBANDUNIT", "MASTERUNIT", "GATEWAY_GPRS_SUPPORT_NODE", "SUBSCRIBERSERVER", "MOBILESWITCHINGCENTER", "MSCSERVER", "PACKETCONTROLUNIT", "SERVICE_GPRS_SUPPORT_NODE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(const std::string& s) { if (s == "E_UTRAN_NODE_B") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B; - if (s == "REMOTE_RADIO_UNIT") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_REMOTE_RADIO_UNIT; + if (s == "REMOTERADIOUNIT") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_REMOTERADIOUNIT; if (s == "ACCESSPOINT") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_ACCESSPOINT; if (s == "BASETRANSCEIVERSTATION") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION; if (s == "REMOTEUNIT") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_REMOTEUNIT; if (s == "BASEBANDUNIT") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT; if (s == "MASTERUNIT") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_MASTERUNIT; + if (s == "GATEWAY_GPRS_SUPPORT_NODE") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_GATEWAY_GPRS_SUPPORT_NODE; + if (s == "SUBSCRIBERSERVER") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_SUBSCRIBERSERVER; + if (s == "MOBILESWITCHINGCENTER") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_MOBILESWITCHINGCENTER; + if (s == "MSCSERVER") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_MSCSERVER; + if (s == "PACKETCONTROLUNIT") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_PACKETCONTROLUNIT; + if (s == "SERVICE_GPRS_SUPPORT_NODE") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_SERVICE_GPRS_SUPPORT_NODE; if (s == "USERDEFINED") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::IfcMobileTelecommunicationsApplianceType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); @@ -7093,12 +7409,14 @@ Ifc4x3_rc4::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMooringDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcMooringDeviceTypeEnum::IfcMooringDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMooringDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7133,12 +7451,14 @@ Ifc4x3_rc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(IfcEntityInst } Ifc4x3_rc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMotorConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMotorConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7171,12 +7491,14 @@ Ifc4x3_rc4::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(IfcEntity } Ifc4x3_rc4::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcNavigationElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcNavigationElementTypeEnum::IfcNavigationElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcNavigationElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7208,12 +7530,14 @@ Ifc4x3_rc4::IfcObjectTypeEnum::IfcObjectTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcObjectTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcObjectTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7249,12 +7573,14 @@ Ifc4x3_rc4::IfcObjectiveEnum::IfcObjectiveEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcObjectiveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcObjectiveEnum::IfcObjectiveEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcObjectiveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7295,12 +7621,14 @@ Ifc4x3_rc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOccupantTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOccupantTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7337,12 +7665,14 @@ Ifc4x3_rc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOpeningElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOpeningElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7374,12 +7704,14 @@ Ifc4x3_rc4::IfcOutletTypeEnum::IfcOutletTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOutletTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOutletTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7414,12 +7746,14 @@ Ifc4x3_rc4::IfcPavementTypeEnum::IfcPavementTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcPavementTypeEnum::IfcPavementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPavementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPavementTypeEnum::IfcPavementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPavementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7451,12 +7785,14 @@ Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(IfcEnti } Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPerformanceHistoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPerformanceHistoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7486,12 +7822,14 @@ Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum } Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPermeableCoveringOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPermeableCoveringOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7524,12 +7862,14 @@ Ifc4x3_rc4::IfcPermitTypeEnum::IfcPermitTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPermitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPermitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7562,12 +7902,14 @@ Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(IfcEntityInstance } Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPhysicalOrVirtualEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPhysicalOrVirtualEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7598,12 +7940,14 @@ Ifc4x3_rc4::IfcPileConstructionEnum::IfcPileConstructionEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPileConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPileConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7637,12 +7981,14 @@ Ifc4x3_rc4::IfcPileTypeEnum::IfcPileTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPileTypeEnum::IfcPileTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7678,12 +8024,14 @@ Ifc4x3_rc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7720,12 +8068,14 @@ Ifc4x3_rc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7760,12 +8110,14 @@ Ifc4x3_rc4::IfcPlateTypeEnum::IfcPlateTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPlateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPlateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7804,12 +8156,14 @@ Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepr } Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPreferredSurfaceCurveRepresentation_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPreferredSurfaceCurveRepresentation_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7840,12 +8194,14 @@ Ifc4x3_rc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(IfcEntityInstanceData* e) } Ifc4x3_rc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProcedureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProcedureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7882,12 +8238,14 @@ Ifc4x3_rc4::IfcProfileTypeEnum::IfcProfileTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProfileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProfileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7917,12 +8275,14 @@ Ifc4x3_rc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectOrderTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectOrderTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7957,12 +8317,14 @@ Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(IfcEntity } Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectedOrTrueLengthEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectedOrTrueLengthEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -7992,12 +8354,14 @@ Ifc4x3_rc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(IfcEntity } Ifc4x3_rc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectionElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectionElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8029,12 +8393,14 @@ Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(IfcEn } Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySetTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySetTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8070,12 +8436,14 @@ Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTripping } Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8109,12 +8477,14 @@ Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(IfcEntityIn } Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8154,12 +8524,14 @@ Ifc4x3_rc4::IfcPumpTypeEnum::IfcPumpTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPumpTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPumpTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8196,12 +8568,14 @@ Ifc4x3_rc4::IfcRailTypeEnum::IfcRailTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcRailTypeEnum::IfcRailTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRailTypeEnum::IfcRailTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8237,12 +8611,14 @@ Ifc4x3_rc4::IfcRailingTypeEnum::IfcRailingTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8276,12 +8652,14 @@ Ifc4x3_rc4::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailwayPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRailwayPartTypeEnum::IfcRailwayPartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailwayPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8319,12 +8697,14 @@ Ifc4x3_rc4::IfcRailwayTypeEnum::IfcRailwayTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcRailwayTypeEnum::IfcRailwayTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailwayTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRailwayTypeEnum::IfcRailwayTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailwayTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8354,12 +8734,14 @@ Ifc4x3_rc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRampFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRampFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8391,12 +8773,14 @@ Ifc4x3_rc4::IfcRampTypeEnum::IfcRampTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRampTypeEnum::IfcRampTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8432,12 +8816,14 @@ Ifc4x3_rc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRecurrenceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRecurrenceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8473,12 +8859,14 @@ Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReferentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReferentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8486,7 +8874,7 @@ Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentTypeEnum(const std::string& v) { const char* Ifc4x3_rc4::IfcReferentTypeEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "KILOPOINT", "MILEPOINT", "STATION", "REFERENCEMARKER", "USERDEFINED", "NOTDEFINED", "LANDMARK", "BOUNDARY", "INTERSECTION", "POSITION" }; + const char* names[] = { "KILOPOINT", "MILEPOINT", "STATION", "REFERENCEMARKER", "LANDMARK", "BOUNDARY", "INTERSECTION", "POSITION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } @@ -8495,12 +8883,12 @@ Ifc4x3_rc4::IfcReferentTypeEnum::Value Ifc4x3_rc4::IfcReferentTypeEnum::FromStri if (s == "MILEPOINT") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_MILEPOINT; if (s == "STATION") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_STATION; if (s == "REFERENCEMARKER") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_REFERENCEMARKER; - if (s == "USERDEFINED") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_USERDEFINED; - if (s == "NOTDEFINED") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_NOTDEFINED; if (s == "LANDMARK") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_LANDMARK; if (s == "BOUNDARY") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_BOUNDARY; if (s == "INTERSECTION") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_INTERSECTION; if (s == "POSITION") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_POSITION; + if (s == "USERDEFINED") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_USERDEFINED; + if (s == "NOTDEFINED") return ::Ifc4x3_rc4::IfcReferentTypeEnum::IfcReferentType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); } @@ -8516,12 +8904,14 @@ Ifc4x3_rc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(IfcEntityInstance } Ifc4x3_rc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReflectanceMethodEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReflectanceMethodEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8559,12 +8949,14 @@ Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcedSoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::IfcReinforcedSoilTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcedSoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8600,12 +8992,14 @@ Ifc4x3_rc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(IfcEntityInstan } Ifc4x3_rc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8643,12 +9037,14 @@ Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(IfcEntity } Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarSurfaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarSurfaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8678,12 +9074,14 @@ Ifc4x3_rc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8722,12 +9120,14 @@ Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(IfcEntityInst } Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingMeshTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingMeshTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8757,12 +9157,14 @@ Ifc4x3_rc4::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoadPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRoadPartTypeEnum::IfcRoadPartTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoadPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8816,12 +9218,14 @@ Ifc4x3_rc4::IfcRoadTypeEnum::IfcRoadTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcRoadTypeEnum::IfcRoadTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoadTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRoadTypeEnum::IfcRoadTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoadTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8851,12 +9255,14 @@ Ifc4x3_rc4::IfcRoleEnum::IfcRoleEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcRoleEnum::IfcRoleEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRoleEnum::IfcRoleEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8907,12 +9313,14 @@ Ifc4x3_rc4::IfcRoofTypeEnum::IfcRoofTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoofTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoofTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -8955,12 +9363,14 @@ Ifc4x3_rc4::IfcSIPrefix::IfcSIPrefix(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSIPrefix::IfcSIPrefix(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSIPrefix_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSIPrefix::IfcSIPrefix(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSIPrefix_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9004,12 +9414,14 @@ Ifc4x3_rc4::IfcSIUnitName::IfcSIUnitName(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSIUnitName::IfcSIUnitName(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSIUnitName_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSIUnitName::IfcSIUnitName(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSIUnitName_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9067,12 +9479,14 @@ Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(IfcEntityIn } Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSanitaryTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSanitaryTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9112,12 +9526,14 @@ Ifc4x3_rc4::IfcSectionTypeEnum::IfcSectionTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9147,12 +9563,14 @@ Ifc4x3_rc4::IfcSensorTypeEnum::IfcSensorTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSensorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSensorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9214,12 +9632,14 @@ Ifc4x3_rc4::IfcSequenceEnum::IfcSequenceEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSequenceEnum::IfcSequenceEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSequenceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSequenceEnum::IfcSequenceEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSequenceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9253,12 +9673,14 @@ Ifc4x3_rc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShadingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShadingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9291,12 +9713,14 @@ Ifc4x3_rc4::IfcSignTypeEnum::IfcSignTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSignTypeEnum::IfcSignTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSignTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSignTypeEnum::IfcSignTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSignTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9329,12 +9753,14 @@ Ifc4x3_rc4::IfcSignalTypeEnum::IfcSignalTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSignalTypeEnum::IfcSignalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSignalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSignalTypeEnum::IfcSignalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSignalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9367,12 +9793,14 @@ Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum } Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSimplePropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSimplePropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9412,12 +9840,14 @@ Ifc4x3_rc4::IfcSlabTypeEnum::IfcSlabTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSlabTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSlabTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9456,12 +9886,14 @@ Ifc4x3_rc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSolarDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSolarDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9493,12 +9925,14 @@ Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpaceHeaterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpaceHeaterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9530,12 +9964,14 @@ Ifc4x3_rc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpaceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpaceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9571,20 +10007,22 @@ Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpatialZoneTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpatialZoneTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4x3_rc4::IfcSpatialZoneTypeEnum::ToString(Value v) { - if ( v < 0 || v >= 11 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "CONSTRUCTION", "FIRESAFETY", "LIGHTING", "OCCUPANCY", "SECURITY", "THERMAL", "TRANSPORT", "VENTILATION", "RESERVATION", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 12 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "CONSTRUCTION", "FIRESAFETY", "LIGHTING", "OCCUPANCY", "SECURITY", "THERMAL", "TRANSPORT", "VENTILATION", "RESERVATION", "INTERFERENCE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } @@ -9598,6 +10036,7 @@ Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Fr if (s == "TRANSPORT") return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_TRANSPORT; if (s == "VENTILATION") return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_VENTILATION; if (s == "RESERVATION") return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_RESERVATION; + if (s == "INTERFERENCE") return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_INTERFERENCE; if (s == "USERDEFINED") return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); @@ -9615,12 +10054,14 @@ Ifc4x3_rc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStackTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStackTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9653,12 +10094,14 @@ Ifc4x3_rc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStairFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStairFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9693,12 +10136,14 @@ Ifc4x3_rc4::IfcStairTypeEnum::IfcStairTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStairTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcStairTypeEnum::IfcStairTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStairTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9743,12 +10188,14 @@ Ifc4x3_rc4::IfcStateEnum::IfcStateEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcStateEnum::IfcStateEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStateEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcStateEnum::IfcStateEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStateEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9781,12 +10228,14 @@ Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEn } Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralCurveActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralCurveActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9823,12 +10272,14 @@ Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(I } Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralCurveMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralCurveMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9863,12 +10314,14 @@ Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTy } Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralSurfaceActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralSurfaceActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9902,12 +10355,14 @@ Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEn } Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralSurfaceMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralSurfaceMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9940,12 +10395,14 @@ Ifc4x3_rc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(IfcEn } Ifc4x3_rc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSubContractResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSubContractResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -9977,12 +10434,14 @@ Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10023,12 +10482,14 @@ Ifc4x3_rc4::IfcSurfaceSide::IfcSurfaceSide(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcSurfaceSide::IfcSurfaceSide(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceSide_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSurfaceSide::IfcSurfaceSide(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceSide_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10059,12 +10520,14 @@ Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(IfcEntityInst } Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSwitchingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSwitchingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10105,12 +10568,14 @@ Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum } Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSystemFurnitureElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSystemFurnitureElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10143,12 +10608,14 @@ Ifc4x3_rc4::IfcTankTypeEnum::IfcTankTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTankTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTankTypeEnum::IfcTankTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTankTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10186,12 +10653,14 @@ Ifc4x3_rc4::IfcTaskDurationEnum::IfcTaskDurationEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTaskDurationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTaskDurationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10222,12 +10691,14 @@ Ifc4x3_rc4::IfcTaskTypeEnum::IfcTaskTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTaskTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTaskTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10269,12 +10740,14 @@ Ifc4x3_rc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonAnchorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonAnchorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10307,12 +10780,14 @@ Ifc4x3_rc4::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonConduitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTendonConduitTypeEnum::IfcTendonConduitTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonConduitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10347,12 +10822,14 @@ Ifc4x3_rc4::IfcTendonTypeEnum::IfcTendonTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10386,12 +10863,14 @@ Ifc4x3_rc4::IfcTextPath::IfcTextPath(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcTextPath::IfcTextPath(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextPath_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTextPath::IfcTextPath(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextPath_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10423,12 +10902,14 @@ Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeriesDataTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeriesDataTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10463,12 +10944,14 @@ Ifc4x3_rc4::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrackElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTrackElementTypeEnum::IfcTrackElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrackElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10506,12 +10989,14 @@ Ifc4x3_rc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(IfcEntityInstanceData } Ifc4x3_rc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransformerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransformerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10548,12 +11033,14 @@ Ifc4x3_rc4::IfcTransitionCode::IfcTransitionCode(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcTransitionCode::IfcTransitionCode(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransitionCode_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTransitionCode::IfcTransitionCode(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransitionCode_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10585,12 +11072,14 @@ Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(I } Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransportElementFixedTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::IfcTransportElementFixedTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransportElementFixedTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10626,12 +11115,14 @@ Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedType } Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransportElementNonFixedTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::IfcTransportElementNonFixedTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransportElementNonFixedTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10668,12 +11159,14 @@ Ifc4x3_rc4::IfcTrimmingPreference::IfcTrimmingPreference(IfcEntityInstanceData* } Ifc4x3_rc4::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrimmingPreference_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTrimmingPreference::IfcTrimmingPreference(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrimmingPreference_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10704,12 +11197,14 @@ Ifc4x3_rc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(IfcEntityInstanceData* } Ifc4x3_rc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTubeBundleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTubeBundleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10740,12 +11235,14 @@ Ifc4x3_rc4::IfcUnitEnum::IfcUnitEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcUnitEnum::IfcUnitEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcUnitEnum::IfcUnitEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10803,20 +11300,22 @@ Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(I } Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryControlElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryControlElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::ToString(Value v) { - if ( v < 0 || v >= 11 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "ALARMPANEL", "CONTROLPANEL", "GASDETECTIONPANEL", "INDICATORPANEL", "MIMICPANEL", "HUMIDISTAT", "THERMOSTAT", "WEATHERSTATION", "COMBINED", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 12 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "ALARMPANEL", "CONTROLPANEL", "GASDETECTIONPANEL", "INDICATORPANEL", "MIMICPANEL", "HUMIDISTAT", "THERMOSTAT", "WEATHERSTATION", "COMBINED", "BASESTATIONCONTROLLER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } @@ -10830,6 +11329,7 @@ Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc4::IfcUnitaryContro if (s == "THERMOSTAT") return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_THERMOSTAT; if (s == "WEATHERSTATION") return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_WEATHERSTATION; if (s == "COMBINED") return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_COMBINED; + if (s == "BASESTATIONCONTROLLER") return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_BASESTATIONCONTROLLER; if (s == "USERDEFINED") return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_NOTDEFINED; throw IfcException("Unable to find find keyword in schema"); @@ -10847,12 +11347,14 @@ Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(IfcEntityIn } Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryEquipmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryEquipmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10887,12 +11389,14 @@ Ifc4x3_rc4::IfcValveTypeEnum::IfcValveTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcValveTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcValveTypeEnum::IfcValveTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcValveTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10943,12 +11447,14 @@ Ifc4x3_rc4::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(IfcEntityInst } Ifc4x3_rc4::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcVibrationDamperTypeEnum::IfcVibrationDamperTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -10984,12 +11490,14 @@ Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(IfcEntity } Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationIsolatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationIsolatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11022,12 +11530,14 @@ Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(IfcEntityInstan } Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVoidingFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVoidingFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11063,12 +11573,14 @@ Ifc4x3_rc4::IfcWallTypeEnum::IfcWallTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWallTypeEnum::IfcWallTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11109,12 +11621,14 @@ Ifc4x3_rc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(IfcEntityInstance } Ifc4x3_rc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWasteTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWasteTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11151,12 +11665,14 @@ Ifc4x3_rc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(IfcEntityIn } Ifc4x3_rc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11198,12 +11714,14 @@ Ifc4x3_rc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(IfcEntityInst } Ifc4x3_rc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11237,12 +11755,14 @@ Ifc4x3_rc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(IfcEn } Ifc4x3_rc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11278,12 +11798,14 @@ Ifc4x3_rc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(IfcEntityIn } Ifc4x3_rc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11322,12 +11844,14 @@ Ifc4x3_rc4::IfcWindowTypeEnum::IfcWindowTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11360,12 +11884,14 @@ Ifc4x3_rc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(IfcEnti } Ifc4x3_rc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowTypePartitioningEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowTypePartitioningEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11404,12 +11930,14 @@ Ifc4x3_rc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkCalendarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkCalendarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11442,12 +11970,14 @@ Ifc4x3_rc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(IfcEntityInstanceData* e) { } Ifc4x3_rc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkPlanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkPlanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11480,12 +12010,14 @@ Ifc4x3_rc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(IfcEntityInstanceDa } Ifc4x3_rc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4x3_rc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::string& v) { + data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); @@ -11907,8 +12439,8 @@ Ifc4x3_rc4::IfcLinearVelocityMeasure::operator double() const { return *data_->g const IfcParse::type_declaration& Ifc4x3_rc4::IfcLogical::Class() { return *IFC4X3_RC4_IfcLogical_type; } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLogical::declaration() const { return *IFC4X3_RC4_IfcLogical_type; } Ifc4x3_rc4::IfcLogical::IfcLogical(IfcEntityInstanceData* e) { data_ = e; } -Ifc4x3_rc4::IfcLogical::IfcLogical(bool v) { data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLogical_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } -Ifc4x3_rc4::IfcLogical::operator bool() const { return *data_->getArgument(0); } +Ifc4x3_rc4::IfcLogical::IfcLogical(boost::logic::tribool v) { data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLogical_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } +Ifc4x3_rc4::IfcLogical::operator boost::logic::tribool() const { return *data_->getArgument(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcLuminousFluxMeasure::Class() { return *IFC4X3_RC4_IfcLuminousFluxMeasure_type; } @@ -12138,8 +12670,8 @@ Ifc4x3_rc4::IfcPressureMeasure::operator double() const { return *data_->getArgu const IfcParse::type_declaration& Ifc4x3_rc4::IfcPropertySetDefinitionSet::Class() { return *IFC4X3_RC4_IfcPropertySetDefinitionSet_type; } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPropertySetDefinitionSet::declaration() const { return *IFC4X3_RC4_IfcPropertySetDefinitionSet_type; } Ifc4x3_rc4::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData* e) { data_ = e; } -Ifc4x3_rc4::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v) { data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySetDefinitionSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v->generalize()); data_->setArgument(0, attr);} } -Ifc4x3_rc4::IfcPropertySetDefinitionSet::operator IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } +Ifc4x3_rc4::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v) { data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySetDefinitionSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v->generalize()); data_->setArgument(0, attr);} } +Ifc4x3_rc4::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcRadioActivityMeasure::Class() { return *IFC4X3_RC4_IfcRadioActivityMeasure_type; } @@ -12423,15 +12955,12 @@ Ifc4x3_rc4::IfcWarpingMomentMeasure::operator double() const { return *data_->ge // Function implementations for IfcActionRequest -bool Ifc4x3_rc4::IfcActionRequest::hasPredefinedType() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value Ifc4x3_rc4::IfcActionRequest::PredefinedType() const { return ::Ifc4x3_rc4::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcActionRequest::setPredefinedType(::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcActionRequestTypeEnum::ToString(v)));data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcActionRequest::hasStatus() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcActionRequest::Status() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcActionRequest::setStatus(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcActionRequest::hasLongDescription() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcActionRequest::LongDescription() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcActionRequest::setLongDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > Ifc4x3_rc4::IfcActionRequest::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } +void Ifc4x3_rc4::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcActionRequestTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcActionRequest::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcActionRequest::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcActionRequest::declaration() const { return *IFC4X3_RC4_IfcActionRequest_type; } @@ -12440,7 +12969,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 (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcActor::TheActor() const { return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } 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(); } @@ -12451,14 +12980,12 @@ Ifc4x3_rc4::IfcActor::IfcActor(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc4x3_rc4::IfcActor::IfcActor(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) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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);} } // Function implementations for IfcActorRole -::Ifc4x3_rc4::IfcRoleEnum::Value Ifc4x3_rc4::IfcActorRole::Role() const { return ::Ifc4x3_rc4::IfcRoleEnum::FromString(*data_->getArgument(0)); } +::Ifc4x3_rc4::IfcRoleEnum::Value Ifc4x3_rc4::IfcActorRole::Role() const { return ::Ifc4x3_rc4::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcActorRole::setRole(::Ifc4x3_rc4::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcActorRole::hasUserDefinedRole() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcActorRole::UserDefinedRole() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcActorRole::setUserDefinedRole(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcActorRole::hasDescription() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcActorRole::Description() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcActorRole::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcActorRole::HasExternalReference() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -12468,9 +12995,8 @@ Ifc4x3_rc4::IfcActorRole::IfcActorRole(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x3_rc4::IfcActorRole::IfcActorRole(::Ifc4x3_rc4::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActorRole_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Role,::Ifc4x3_rc4::IfcRoleEnum::ToString(v1_Role))));data_->setArgument(0,attr);} if (v2_UserDefinedRole) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_UserDefinedRole));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 IfcActuator -bool Ifc4x3_rc4::IfcActuator::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcActuatorTypeEnum::Value Ifc4x3_rc4::IfcActuator::PredefinedType() const { return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcActuator::setPredefinedType(::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcActuatorTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > Ifc4x3_rc4::IfcActuator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcActuatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcActuator::declaration() const { return *IFC4X3_RC4_IfcActuator_type; } @@ -12479,25 +13005,22 @@ Ifc4x3_rc4::IfcActuator::IfcActuator(IfcEntityInstanceData* e) : IfcDistribution Ifc4x3_rc4::IfcActuator::IfcActuator(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::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActuator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcActuatorTypeEnum::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 IfcActuatorType -::Ifc4x3_rc4::IfcActuatorTypeEnum::Value Ifc4x3_rc4::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcActuatorTypeEnum::Value Ifc4x3_rc4::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcActuatorType::setPredefinedType(::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcActuatorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcActuatorType::declaration() const { return *IFC4X3_RC4_IfcActuatorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcActuatorType::Class() { return *IFC4X3_RC4_IfcActuatorType_type; } Ifc4x3_rc4::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcActuatorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcActuatorType::IfcActuatorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActuatorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcActuatorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcActuatorType::IfcActuatorType(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::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActuatorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcActuatorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAddress -bool Ifc4x3_rc4::IfcAddress::hasPurpose() const { return !data_->getArgument(0)->isNull(); } -::Ifc4x3_rc4::IfcAddressTypeEnum::Value Ifc4x3_rc4::IfcAddress::Purpose() const { return ::Ifc4x3_rc4::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } -void Ifc4x3_rc4::IfcAddress::setPurpose(::Ifc4x3_rc4::IfcAddressTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAddressTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcAddress::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcAddress::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcAddress::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcAddress::hasUserDefinedPurpose() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcAddress::UserDefinedPurpose() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcAddress::setUserDefinedPurpose(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > Ifc4x3_rc4::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } +void Ifc4x3_rc4::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAddressTypeEnum::ToString(*v)));data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcPerson::list::ptr Ifc4x3_rc4::IfcAddress::OfPerson() const { return data_->getInverse(IFC4X3_RC4_IfcPerson_type, 7)->as(); } ::Ifc4x3_rc4::IfcOrganization::list::ptr Ifc4x3_rc4::IfcAddress::OfOrganization() const { return data_->getInverse(IFC4X3_RC4_IfcOrganization_type, 4)->as(); } @@ -12516,14 +13039,14 @@ Ifc4x3_rc4::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData* e) : IfcMani Ifc4x3_rc4::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_rc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAdvancedBrep_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);} } // Function implementations for IfcAdvancedBrepWithVoids -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Voids() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcClosedShell >(); } -void Ifc4x3_rc4::IfcAdvancedBrepWithVoids::setVoids(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcClosedShell >(); } +void Ifc4x3_rc4::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedBrepWithVoids::declaration() const { return *IFC4X3_RC4_IfcAdvancedBrepWithVoids_type; } const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Class() { return *IFC4X3_RC4_IfcAdvancedBrepWithVoids_type; } Ifc4x3_rc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData* e) : IfcAdvancedBrep((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcAdvancedBrepWithVoids_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc4::IfcClosedShell* v1_Outer, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAdvancedBrepWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Voids)->generalize());data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAdvancedBrepWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Voids)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcAdvancedFace @@ -12531,12 +13054,11 @@ Ifc4x3_rc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedFace::declaration() const { return *IFC4X3_RC4_IfcAdvancedFace_type; } const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedFace::Class() { return *IFC4X3_RC4_IfcAdvancedFace_type; } Ifc4x3_rc4::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData* e) : IfcFaceSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcAdvancedFace_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcAdvancedFace::IfcAdvancedFace(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAdvancedFace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bounds)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FaceSurface));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAdvancedFace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bounds)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FaceSurface));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcAirTerminal -bool Ifc4x3_rc4::IfcAirTerminal::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value Ifc4x3_rc4::IfcAirTerminal::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAirTerminal::setPredefinedType(::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAirTerminalTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAirTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminal::declaration() const { return *IFC4X3_RC4_IfcAirTerminal_type; } @@ -12545,9 +13067,8 @@ Ifc4x3_rc4::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData* e) : IfcFlowTe Ifc4x3_rc4::IfcAirTerminal::IfcAirTerminal(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::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAirTerminalTypeEnum::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 IfcAirTerminalBox -bool Ifc4x3_rc4::IfcAirTerminalBox::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalBox::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAirTerminalBox::setPredefinedType(::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminalBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalBox::declaration() const { return *IFC4X3_RC4_IfcAirTerminalBox_type; } @@ -12556,29 +13077,28 @@ Ifc4x3_rc4::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcAirTerminalBox::IfcAirTerminalBox(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::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminalBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAirTerminalBoxTypeEnum::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 IfcAirTerminalBoxType -::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalBoxType::declaration() const { return *IFC4X3_RC4_IfcAirTerminalBoxType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalBoxType::Class() { return *IFC4X3_RC4_IfcAirTerminalBoxType_type; } Ifc4x3_rc4::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcAirTerminalBoxType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcAirTerminalBoxType::IfcAirTerminalBoxType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminalBoxType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcAirTerminalBoxType::IfcAirTerminalBoxType(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::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminalBoxType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAirTerminalType -::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcAirTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAirTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalType::declaration() const { return *IFC4X3_RC4_IfcAirTerminalType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalType::Class() { return *IFC4X3_RC4_IfcAirTerminalType_type; } Ifc4x3_rc4::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcAirTerminalType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcAirTerminalType::IfcAirTerminalType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAirTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcAirTerminalType::IfcAirTerminalType(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::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAirTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAirToAirHeatRecovery -bool Ifc4x3_rc4::IfcAirToAirHeatRecovery::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc4::IfcAirToAirHeatRecovery::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAirToAirHeatRecovery::setPredefinedType(::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirToAirHeatRecovery::declaration() const { return *IFC4X3_RC4_IfcAirToAirHeatRecovery_type; } @@ -12587,19 +13107,18 @@ Ifc4x3_rc4::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceDa Ifc4x3_rc4::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(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::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirToAirHeatRecovery_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAirToAirHeatRecoveryTypeEnum::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 IfcAirToAirHeatRecoveryType -::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::declaration() const { return *IFC4X3_RC4_IfcAirToAirHeatRecoveryType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::Class() { return *IFC4X3_RC4_IfcAirToAirHeatRecoveryType_type; } Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcAirToAirHeatRecoveryType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirToAirHeatRecoveryType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(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::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAirToAirHeatRecoveryType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAlarm -bool Ifc4x3_rc4::IfcAlarm::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcAlarmTypeEnum::Value Ifc4x3_rc4::IfcAlarm::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAlarm::setPredefinedType(::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAlarmTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > Ifc4x3_rc4::IfcAlarm::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAlarmTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlarm::declaration() const { return *IFC4X3_RC4_IfcAlarm_type; } @@ -12608,19 +13127,18 @@ Ifc4x3_rc4::IfcAlarm::IfcAlarm(IfcEntityInstanceData* e) : IfcDistributionContro Ifc4x3_rc4::IfcAlarm::IfcAlarm(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::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlarm_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAlarmTypeEnum::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 IfcAlarmType -::Ifc4x3_rc4::IfcAlarmTypeEnum::Value Ifc4x3_rc4::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcAlarmTypeEnum::Value Ifc4x3_rc4::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcAlarmType::setPredefinedType(::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAlarmTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlarmType::declaration() const { return *IFC4X3_RC4_IfcAlarmType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcAlarmType::Class() { return *IFC4X3_RC4_IfcAlarmType_type; } Ifc4x3_rc4::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcAlarmType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcAlarmType::IfcAlarmType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlarmType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAlarmTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcAlarmType::IfcAlarmType(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::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlarmType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAlarmTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAlignment -bool Ifc4x3_rc4::IfcAlignment::hasPredefinedType() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value Ifc4x3_rc4::IfcAlignment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcAlignment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAlignmentTypeEnum::ToString(v)));data_->setArgument(7,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > Ifc4x3_rc4::IfcAlignment::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAlignmentTypeEnum::FromString(*data_->getArgument(7)); } +void Ifc4x3_rc4::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAlignmentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlignment::declaration() const { return *IFC4X3_RC4_IfcAlignment_type; } @@ -12629,7 +13147,7 @@ Ifc4x3_rc4::IfcAlignment::IfcAlignment(IfcEntityInstanceData* e) : IfcLinearPosi Ifc4x3_rc4::IfcAlignment::IfcAlignment(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::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAlignmentTypeEnum::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 IfcAlignmentCant -double Ifc4x3_rc4::IfcAlignmentCant::RailHeadDistance() const { return *data_->getArgument(7); } +double Ifc4x3_rc4::IfcAlignmentCant::RailHeadDistance() const { double v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcAlignmentCant::setRailHeadDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -12639,21 +13157,19 @@ Ifc4x3_rc4::IfcAlignmentCant::IfcAlignmentCant(IfcEntityInstanceData* e) : IfcLi Ifc4x3_rc4::IfcAlignmentCant::IfcAlignmentCant(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, double v8_RailHeadDistance) : IfcLinearElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentCant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_RailHeadDistance));data_->setArgument(7,attr);} } // Function implementations for IfcAlignmentCantSegment -double Ifc4x3_rc4::IfcAlignmentCantSegment::StartDistAlong() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcAlignmentCantSegment::StartDistAlong() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setStartDistAlong(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -double Ifc4x3_rc4::IfcAlignmentCantSegment::HorizontalLength() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcAlignmentCantSegment::HorizontalLength() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setHorizontalLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantLeft() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantLeft() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setStartCantLeft(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcAlignmentCantSegment::hasEndCantLeft() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantLeft() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantLeft(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantRight() const { return *data_->getArgument(6); } +boost::optional< double > Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantLeft() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantRight() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setStartCantRight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcAlignmentCantSegment::hasEndCantRight() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantRight() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantRight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::FromString(*data_->getArgument(8)); } +boost::optional< double > Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantRight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -12671,20 +13187,19 @@ 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 (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartPoint() const { return (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 { return *data_->getArgument(3); } +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);} } -double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setStartRadiusOfCurvature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::SegmentLength() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcAlignmentHorizontalSegment::hasGravityCenterLineHeight() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::FromString(*data_->getArgument(8)); } +boost::optional< double > Ifc4x3_rc4::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -12694,12 +13209,10 @@ Ifc4x3_rc4::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(IfcEnti Ifc4x3_rc4::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_rc4::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentHorizontalSegment_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_StartPoint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartDirection));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_StartRadiusOfCurvature));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_EndRadiusOfCurvature));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SegmentLength));data_->setArgument(6,attr);} if (v8_GravityCenterLineHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_GravityCenterLineHeight));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_PredefinedType,::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::ToString(v9_PredefinedType))));data_->setArgument(8,attr);} } // Function implementations for IfcAlignmentParameterSegment -bool Ifc4x3_rc4::IfcAlignmentParameterSegment::hasStartTag() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcAlignmentParameterSegment::StartTag() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcAlignmentParameterSegment::setStartTag(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcAlignmentParameterSegment::hasEndTag() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcAlignmentParameterSegment::EndTag() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcAlignmentParameterSegment::setEndTag(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcAlignmentParameterSegment::StartTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcAlignmentParameterSegment::EndTag() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentParameterSegment::declaration() const { return *IFC4X3_RC4_IfcAlignmentParameterSegment_type; } @@ -12708,7 +13221,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 (::Ifc4x3_rc4::IfcAlignmentParameterSegment*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcAlignmentParameterSegment* Ifc4x3_rc4::IfcAlignmentSegment::DesignParameters() const { return (::Ifc4x3_rc4::IfcAlignmentParameterSegment*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void Ifc4x3_rc4::IfcAlignmentSegment::setDesignParameters(::Ifc4x3_rc4::IfcAlignmentParameterSegment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -12726,20 +13239,19 @@ Ifc4x3_rc4::IfcAlignmentVertical::IfcAlignmentVertical(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcAlignmentVertical::IfcAlignmentVertical(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_IfcAlignmentVertical_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcAlignmentVerticalSegment -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartDistAlong() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setStartDistAlong(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::HorizontalLength() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setHorizontalLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartHeight() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setStartHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartGradient() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartGradient() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setStartGradient(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::EndGradient() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::EndGradient() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setEndGradient(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcAlignmentVerticalSegment::hasRadiusOfCurvature() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setRadiusOfCurvature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::FromString(*data_->getArgument(8)); } +boost::optional< double > Ifc4x3_rc4::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -12749,9 +13261,8 @@ Ifc4x3_rc4::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(IfcEntityIn Ifc4x3_rc4::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, boost::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentVerticalSegment_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_StartHeight));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_StartGradient));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_EndGradient));data_->setArgument(6,attr);} if (v8_RadiusOfCurvature) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RadiusOfCurvature));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_PredefinedType,::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::ToString(v9_PredefinedType))));data_->setArgument(8,attr);} } // Function implementations for IfcAnnotation -bool Ifc4x3_rc4::IfcAnnotation::hasPredefinedType() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value Ifc4x3_rc4::IfcAnnotation::PredefinedType() const { return ::Ifc4x3_rc4::IfcAnnotationTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcAnnotation::setPredefinedType(::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAnnotationTypeEnum::ToString(v)));data_->setArgument(7,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > Ifc4x3_rc4::IfcAnnotation::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAnnotationTypeEnum::FromString(*data_->getArgument(7)); } +void Ifc4x3_rc4::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAnnotationTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc4::IfcAnnotation::ContainedInStructure() const { return data_->getInverse(IFC4X3_RC4_IfcRelContainedInSpatialStructure_type, 4)->as(); } @@ -12761,26 +13272,25 @@ 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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcAnnotationFillArea::OuterBoundary() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcAnnotationFillArea::hasInnerBoundaries() const { return !data_->getArgument(1)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr Ifc4x3_rc4::IfcAnnotationFillArea::InnerBoundaries() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } -void Ifc4x3_rc4::IfcAnnotationFillArea::setInnerBoundaries(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcAnnotationFillArea::declaration() const { return *IFC4X3_RC4_IfcAnnotationFillArea_type; } const IfcParse::entity& Ifc4x3_rc4::IfcAnnotationFillArea::Class() { return *IFC4X3_RC4_IfcAnnotationFillArea_type; } Ifc4x3_rc4::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcAnnotationFillArea_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc4::IfcCurve* v1_OuterBoundary, boost::optional< IfcTemplatedEntityList< ::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); } } +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 (::Ifc4x3_rc4::IfcOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcApplication::ApplicationDeveloper() const { return (::Ifc4x3_rc4::IfcOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } -std::string Ifc4x3_rc4::IfcApplication::ApplicationFullName() const { return *data_->getArgument(2); } +std::string Ifc4x3_rc4::IfcApplication::ApplicationFullName() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcApplication::setApplicationFullName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -std::string Ifc4x3_rc4::IfcApplication::ApplicationIdentifier() const { return *data_->getArgument(3); } +std::string Ifc4x3_rc4::IfcApplication::ApplicationIdentifier() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcApplication::setApplicationIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -12790,71 +13300,52 @@ Ifc4x3_rc4::IfcApplication::IfcApplication(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc4::IfcApplication::IfcApplication(::Ifc4x3_rc4::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcApplication_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ApplicationDeveloper));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Version));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ApplicationFullName));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ApplicationIdentifier));data_->setArgument(3,attr);} } // Function implementations for IfcAppliedValue -bool Ifc4x3_rc4::IfcAppliedValue::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcAppliedValue::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcAppliedValue::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcAppliedValue::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcAppliedValue::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcAppliedValue::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcAppliedValue::hasAppliedValue() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcAppliedValueSelect* Ifc4x3_rc4::IfcAppliedValue::AppliedValue() const { return (::Ifc4x3_rc4::IfcAppliedValueSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +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 (::Ifc4x3_rc4::IfcAppliedValueSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc4::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcAppliedValue::hasUnitBasis() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcAppliedValue::UnitBasis() const { return (::Ifc4x3_rc4::IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcAppliedValue::hasApplicableDate() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcAppliedValue::ApplicableDate() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcAppliedValue::setApplicableDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcAppliedValue::hasFixedUntilDate() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcAppliedValue::FixedUntilDate() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcAppliedValue::setFixedUntilDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcAppliedValue::hasCategory() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcAppliedValue::Category() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcAppliedValue::setCategory(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcAppliedValue::hasCondition() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcAppliedValue::Condition() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcAppliedValue::setCondition(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcAppliedValue::hasArithmeticOperator() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value Ifc4x3_rc4::IfcAppliedValue::ArithmeticOperator() const { return ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAppliedValue::setArithmeticOperator(::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcArithmeticOperatorEnum::ToString(v)));data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcAppliedValue::hasComponents() const { return !data_->getArgument(9)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr Ifc4x3_rc4::IfcAppliedValue::Components() const { IfcEntityList::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } -void Ifc4x3_rc4::IfcAppliedValue::setComponents(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(9,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Category() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc4::IfcAppliedValue::ArithmeticOperator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcArithmeticOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcAppliedValue::Components() 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::IfcAppliedValue::setComponents(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::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcAppliedValue::declaration() const { return *IFC4X3_RC4_IfcAppliedValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcAppliedValue::Class() { return *IFC4X3_RC4_IfcAppliedValue_type; } Ifc4x3_rc4::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcAppliedValue_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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);} if (v5_ApplicableDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FixedUntilDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FixedUntilDate));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Category));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Condition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Condition));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ArithmeticOperator) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_ArithmeticOperator,::Ifc4x3_rc4::IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Components) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Components)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } +Ifc4x3_rc4::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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);} if (v5_ApplicableDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FixedUntilDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FixedUntilDate));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Category));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Condition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Condition));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ArithmeticOperator) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_ArithmeticOperator,::Ifc4x3_rc4::IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Components) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Components)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcApproval -bool Ifc4x3_rc4::IfcApproval::hasIdentifier() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcApproval::Identifier() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcApproval::setIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcApproval::hasName() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcApproval::Name() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcApproval::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcApproval::hasDescription() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcApproval::Description() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcApproval::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcApproval::hasTimeOfApproval() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcApproval::TimeOfApproval() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcApproval::setTimeOfApproval(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcApproval::hasStatus() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcApproval::Status() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcApproval::setStatus(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcApproval::hasLevel() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcApproval::Level() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcApproval::setLevel(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcApproval::hasQualifier() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcApproval::Qualifier() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcApproval::setQualifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcApproval::hasRequestingApproval() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::RequestingApproval() const { return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcApproval::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::IfcApproval::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::TimeOfApproval() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Status() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Level() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +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 (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void Ifc4x3_rc4::IfcApproval::setRequestingApproval(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcApproval::hasGivingApproval() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::GivingApproval() const { return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } 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(); } @@ -12869,19 +13360,19 @@ 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 (::Ifc4x3_rc4::IfcApproval*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcApprovalRelationship::RelatingApproval() const { return (::Ifc4x3_rc4::IfcApproval*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcApproval >::ptr Ifc4x3_rc4::IfcApprovalRelationship::RelatedApprovals() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcApproval >(); } -void Ifc4x3_rc4::IfcApprovalRelationship::setRelatedApprovals(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcApproval >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcApprovalRelationship::declaration() const { return *IFC4X3_RC4_IfcApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcApprovalRelationship::Class() { return *IFC4X3_RC4_IfcApprovalRelationship_type; } Ifc4x3_rc4::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcApprovalRelationship_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcApproval* v3_RelatingApproval, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -12891,7 +13382,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 (::Ifc4x3_rc4::IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Curve() const { return (::Ifc4x3_rc4::IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_rc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -12901,42 +13392,33 @@ Ifc4x3_rc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInst Ifc4x3_rc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcArbitraryOpenProfileDef_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_Curve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryProfileDefWithVoids -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } -void Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } +void Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::declaration() const { return *IFC4X3_RC4_IfcArbitraryProfileDefWithVoids_type; } const IfcParse::entity& Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::Class() { return *IFC4X3_RC4_IfcArbitraryProfileDefWithVoids_type; } Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData* e) : IfcArbitraryClosedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcArbitraryProfileDefWithVoids_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcArbitraryProfileDefWithVoids_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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_InnerCurves)->generalize());data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcArbitraryProfileDefWithVoids_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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_InnerCurves)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcAsset -bool Ifc4x3_rc4::IfcAsset::hasIdentification() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcAsset::Identification() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcAsset::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcAsset::hasOriginalValue() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::OriginalValue() const { return (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +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 (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcAsset::setOriginalValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcAsset::hasCurrentValue() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::CurrentValue() const { return (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void Ifc4x3_rc4::IfcAsset::setCurrentValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcAsset::hasTotalReplacementCost() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::TotalReplacementCost() const { return (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcAsset::setTotalReplacementCost(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcAsset::hasOwner() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::Owner() const { return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcAsset::setOwner(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcAsset::hasUser() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::User() const { return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } void Ifc4x3_rc4::IfcAsset::setUser(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcAsset::hasResponsiblePerson() const { return !data_->getArgument(11)->isNull(); } -::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcAsset::ResponsiblePerson() const { return (::Ifc4x3_rc4::IfcPerson*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(11))); } +::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcPerson*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(11))); } void Ifc4x3_rc4::IfcAsset::setResponsiblePerson(::Ifc4x3_rc4::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcAsset::hasIncorporationDate() const { return !data_->getArgument(12)->isNull(); } -std::string Ifc4x3_rc4::IfcAsset::IncorporationDate() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcAsset::setIncorporationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcAsset::hasDepreciatedValue() const { return !data_->getArgument(13)->isNull(); } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::DepreciatedValue() const { return (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(13))); } +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 (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(13))); } void Ifc4x3_rc4::IfcAsset::setDepreciatedValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -12946,37 +13428,30 @@ Ifc4x3_rc4::IfcAsset::IfcAsset(IfcEntityInstanceData* e) : IfcGroup((IfcEntityIn Ifc4x3_rc4::IfcAsset::IfcAsset(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, ::Ifc4x3_rc4::IfcCostValue* v7_OriginalValue, ::Ifc4x3_rc4::IfcCostValue* v8_CurrentValue, ::Ifc4x3_rc4::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_rc4::IfcActorSelect* v10_Owner, ::Ifc4x3_rc4::IfcActorSelect* v11_User, ::Ifc4x3_rc4::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc4::IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAsset_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_OriginalValue));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CurrentValue));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_TotalReplacementCost));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Owner));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_User));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_ResponsiblePerson));data_->setArgument(11,attr);} if (v13_IncorporationDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_IncorporationDate));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v14_DepreciatedValue));data_->setArgument(13,attr);} } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::OverallDepth() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::WebThickness() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::hasBottomFlangeFilletRadius() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { return *data_->getArgument(8); } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::hasTopFlangeThickness() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::hasTopFlangeFilletRadius() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::hasBottomFlangeEdgeRadius() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::hasBottomFlangeSlope() const { return !data_->getArgument(12)->isNull(); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::hasTopFlangeEdgeRadius() const { return !data_->getArgument(13)->isNull(); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { return *data_->getArgument(13); } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::hasTopFlangeSlope() const { return !data_->getArgument(14)->isNull(); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { return *data_->getArgument(14); } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcAsymmetricIShapeProfileDef_type; } @@ -12985,9 +13460,8 @@ Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEnti Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, boost::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_BottomFlangeEdgeRadius, boost::optional< double > v13_BottomFlangeSlope, boost::optional< double > v14_TopFlangeEdgeRadius, boost::optional< double > v15_TopFlangeSlope) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAsymmetricIShapeProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_BottomFlangeWidth));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_BottomFlangeThickness));data_->setArgument(6,attr);} if (v8_BottomFlangeFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_BottomFlangeFilletRadius));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_BottomFlangeEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_BottomFlangeEdgeRadius));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BottomFlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BottomFlangeSlope));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TopFlangeEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TopFlangeEdgeRadius));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_TopFlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_TopFlangeSlope));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } } // Function implementations for IfcAudioVisualAppliance -bool Ifc4x3_rc4::IfcAudioVisualAppliance::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc4::IfcAudioVisualAppliance::PredefinedType() const { return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAudioVisualAppliance::setPredefinedType(::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc4::IfcAudioVisualAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAudioVisualAppliance::declaration() const { return *IFC4X3_RC4_IfcAudioVisualAppliance_type; } @@ -12996,18 +13470,17 @@ Ifc4x3_rc4::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceDa Ifc4x3_rc4::IfcAudioVisualAppliance::IfcAudioVisualAppliance(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::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAudioVisualAppliance_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcAudioVisualApplianceTypeEnum::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 IfcAudioVisualApplianceType -::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc4::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc4::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAudioVisualApplianceType::declaration() const { return *IFC4X3_RC4_IfcAudioVisualApplianceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcAudioVisualApplianceType::Class() { return *IFC4X3_RC4_IfcAudioVisualApplianceType_type; } Ifc4x3_rc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcAudioVisualApplianceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 -bool Ifc4x3_rc4::IfcAxis1Placement::hasAxis() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis1Placement::Axis() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcAxis1Placement::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13017,8 +13490,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 -bool Ifc4x3_rc4::IfcAxis2Placement2D::hasRefDirection() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement2D::RefDirection() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13028,11 +13500,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 -bool Ifc4x3_rc4::IfcAxis2Placement3D::hasAxis() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::Axis() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcAxis2Placement3D::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcAxis2Placement3D::hasRefDirection() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::RefDirection() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13042,11 +13512,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 -bool Ifc4x3_rc4::IfcAxis2PlacementLinear::hasAxis() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::Axis() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcAxis2PlacementLinear::hasRefDirection() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::RefDirection() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13056,81 +13524,80 @@ Ifc4x3_rc4::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(IfcEntityInstanceDa Ifc4x3_rc4::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis, ::Ifc4x3_rc4::IfcDirection* v3_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAxis2PlacementLinear_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 IfcBSplineCurve -int Ifc4x3_rc4::IfcBSplineCurve::Degree() const { return *data_->getArgument(0); } +int Ifc4x3_rc4::IfcBSplineCurve::Degree() const { int v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcBSplineCurve::setDegree(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcBSplineCurve::ControlPointsList() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } -void Ifc4x3_rc4::IfcBSplineCurve::setControlPointsList(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcBSplineCurveForm::Value Ifc4x3_rc4::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc4::IfcBSplineCurveForm::FromString(*data_->getArgument(2)); } +aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } +void Ifc4x3_rc4::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +::Ifc4x3_rc4::IfcBSplineCurveForm::Value Ifc4x3_rc4::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc4::IfcBSplineCurveForm::FromString(*data_->getArgument(2)); } void Ifc4x3_rc4::IfcBSplineCurve::setCurveForm(::Ifc4x3_rc4::IfcBSplineCurveForm::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBSplineCurveForm::ToString(v)));data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcBSplineCurve::ClosedCurve() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcBSplineCurve::setClosedCurve(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcBSplineCurve::SelfIntersect() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcBSplineCurve::setSelfIntersect(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineCurve::declaration() const { return *IFC4X3_RC4_IfcBSplineCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineCurve::Class() { return *IFC4X3_RC4_IfcBSplineCurve_type; } Ifc4x3_rc4::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBSplineCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Degree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ControlPointsList)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_CurveForm,::Ifc4x3_rc4::IfcBSplineCurveForm::ToString(v3_CurveForm))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ClosedCurve));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SelfIntersect));data_->setArgument(4,attr);} } +Ifc4x3_rc4::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Degree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ControlPointsList)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_CurveForm,::Ifc4x3_rc4::IfcBSplineCurveForm::ToString(v3_CurveForm))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ClosedCurve));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SelfIntersect));data_->setArgument(4,attr);} } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { return *data_->getArgument(5); } +std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::Knots() const { return *data_->getArgument(6); } +std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcKnotType::Value Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc4::IfcKnotType::FromString(*data_->getArgument(7)); } +::Ifc4x3_rc4::IfcKnotType::Value Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc4::IfcKnotType::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x3_rc4::IfcKnotType::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcKnotType::ToString(v)));data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineCurveWithKnots::declaration() const { return *IFC4X3_RC4_IfcBSplineCurveWithKnots_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineCurveWithKnots::Class() { return *IFC4X3_RC4_IfcBSplineCurveWithKnots_type; } Ifc4x3_rc4::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData* e) : IfcBSplineCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBSplineCurveWithKnots_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineCurveWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Degree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ControlPointsList)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_CurveForm,::Ifc4x3_rc4::IfcBSplineCurveForm::ToString(v3_CurveForm))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ClosedCurve));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SelfIntersect));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_KnotMultiplicities));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Knots));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_KnotSpec,::Ifc4x3_rc4::IfcKnotType::ToString(v8_KnotSpec))));data_->setArgument(7,attr);} } +Ifc4x3_rc4::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineCurveWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Degree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ControlPointsList)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_CurveForm,::Ifc4x3_rc4::IfcBSplineCurveForm::ToString(v3_CurveForm))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ClosedCurve));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SelfIntersect));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_KnotMultiplicities));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Knots));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_KnotSpec,::Ifc4x3_rc4::IfcKnotType::ToString(v8_KnotSpec))));data_->setArgument(7,attr);} } // Function implementations for IfcBSplineSurface -int Ifc4x3_rc4::IfcBSplineSurface::UDegree() const { return *data_->getArgument(0); } +int Ifc4x3_rc4::IfcBSplineSurface::UDegree() const { int v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcBSplineSurface::setUDegree(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -int Ifc4x3_rc4::IfcBSplineSurface::VDegree() const { return *data_->getArgument(1); } +int Ifc4x3_rc4::IfcBSplineSurface::VDegree() const { int v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcBSplineSurface::setVDegree(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcBSplineSurface::ControlPointsList() const { IfcEntityListList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } -void Ifc4x3_rc4::IfcBSplineSurface::setControlPointsList(IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value Ifc4x3_rc4::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc4::IfcBSplineSurfaceForm::FromString(*data_->getArgument(3)); } +aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } +void Ifc4x3_rc4::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } +::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value Ifc4x3_rc4::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc4::IfcBSplineSurfaceForm::FromString(*data_->getArgument(3)); } void Ifc4x3_rc4::IfcBSplineSurface::setSurfaceForm(::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBSplineSurfaceForm::ToString(v)));data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcBSplineSurface::UClosed() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcBSplineSurface::setUClosed(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcBSplineSurface::VClosed() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcBSplineSurface::setVClosed(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcBSplineSurface::SelfIntersect() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcBSplineSurface::setSelfIntersect(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineSurface::declaration() const { return *IFC4X3_RC4_IfcBSplineSurface_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineSurface::Class() { return *IFC4X3_RC4_IfcBSplineSurface_type; } Ifc4x3_rc4::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData* e) : IfcBoundedSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBSplineSurface_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_UDegree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VDegree));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ControlPointsList)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_SurfaceForm,::Ifc4x3_rc4::IfcBSplineSurfaceForm::ToString(v4_SurfaceForm))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_UClosed));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_VClosed));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SelfIntersect));data_->setArgument(6,attr);} } +Ifc4x3_rc4::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_UDegree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VDegree));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ControlPointsList)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_SurfaceForm,::Ifc4x3_rc4::IfcBSplineSurfaceForm::ToString(v4_SurfaceForm))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_UClosed));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_VClosed));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SelfIntersect));data_->setArgument(6,attr);} } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { return *data_->getArgument(7); } +std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::VMultiplicities() const { return *data_->getArgument(8); } +std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UKnots() const { return *data_->getArgument(9); } +std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(9); return v; } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::VKnots() const { return *data_->getArgument(10); } +std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(10); return v; } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc4x3_rc4::IfcKnotType::Value Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc4::IfcKnotType::FromString(*data_->getArgument(11)); } +::Ifc4x3_rc4::IfcKnotType::Value Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc4::IfcKnotType::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x3_rc4::IfcKnotType::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcKnotType::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::declaration() const { return *IFC4X3_RC4_IfcBSplineSurfaceWithKnots_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::Class() { return *IFC4X3_RC4_IfcBSplineSurfaceWithKnots_type; } Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData* e) : IfcBSplineSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBSplineSurfaceWithKnots_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineSurfaceWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_UDegree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VDegree));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ControlPointsList)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_SurfaceForm,::Ifc4x3_rc4::IfcBSplineSurfaceForm::ToString(v4_SurfaceForm))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_UClosed));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_VClosed));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SelfIntersect));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_UMultiplicities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_VMultiplicities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_UKnots));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_VKnots));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_KnotSpec,::Ifc4x3_rc4::IfcKnotType::ToString(v12_KnotSpec))));data_->setArgument(11,attr);} } +Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBSplineSurfaceWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_UDegree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VDegree));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ControlPointsList)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_SurfaceForm,::Ifc4x3_rc4::IfcBSplineSurfaceForm::ToString(v4_SurfaceForm))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_UClosed));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_VClosed));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SelfIntersect));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_UMultiplicities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_VMultiplicities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_UKnots));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_VKnots));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_KnotSpec,::Ifc4x3_rc4::IfcKnotType::ToString(v12_KnotSpec))));data_->setArgument(11,attr);} } // Function implementations for IfcBeam -bool Ifc4x3_rc4::IfcBeam::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcBeamTypeEnum::Value Ifc4x3_rc4::IfcBeam::PredefinedType() const { return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBeam::setPredefinedType(::Ifc4x3_rc4::IfcBeamTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBeamTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > Ifc4x3_rc4::IfcBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBeam::declaration() const { return *IFC4X3_RC4_IfcBeam_type; } @@ -13147,19 +13614,18 @@ Ifc4x3_rc4::IfcBeamStandardCase::IfcBeamStandardCase(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcBeamStandardCase::IfcBeamStandardCase(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::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBeamStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBeamTypeEnum::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 IfcBeamType -::Ifc4x3_rc4::IfcBeamTypeEnum::Value Ifc4x3_rc4::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcBeamTypeEnum::Value Ifc4x3_rc4::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcBeamType::setPredefinedType(::Ifc4x3_rc4::IfcBeamTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBeamTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBeamType::declaration() const { return *IFC4X3_RC4_IfcBeamType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBeamType::Class() { return *IFC4X3_RC4_IfcBeamType_type; } Ifc4x3_rc4::IfcBeamType::IfcBeamType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBeamType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBeamType::IfcBeamType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBeamType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBeamTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcBeamType::IfcBeamType(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::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBeamType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBeamTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcBearing -bool Ifc4x3_rc4::IfcBearing::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcBearingTypeEnum::Value Ifc4x3_rc4::IfcBearing::PredefinedType() const { return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBearing::setPredefinedType(::Ifc4x3_rc4::IfcBearingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBearingTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > Ifc4x3_rc4::IfcBearing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBearingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBearing::declaration() const { return *IFC4X3_RC4_IfcBearing_type; } @@ -13168,19 +13634,19 @@ Ifc4x3_rc4::IfcBearing::IfcBearing(IfcEntityInstanceData* e) : IfcBuiltElement(( Ifc4x3_rc4::IfcBearing::IfcBearing(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::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBearing_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBearingTypeEnum::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 IfcBearingType -::Ifc4x3_rc4::IfcBearingTypeEnum::Value Ifc4x3_rc4::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcBearingTypeEnum::Value Ifc4x3_rc4::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcBearingType::setPredefinedType(::Ifc4x3_rc4::IfcBearingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBearingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBearingType::declaration() const { return *IFC4X3_RC4_IfcBearingType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBearingType::Class() { return *IFC4X3_RC4_IfcBearingType_type; } Ifc4x3_rc4::IfcBearingType::IfcBearingType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBearingType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBearingType::IfcBearingType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBearingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBearingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcBearingType::IfcBearingType(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::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBearingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBearingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcBlobTexture -std::string Ifc4x3_rc4::IfcBlobTexture::RasterFormat() const { return *data_->getArgument(5); } +std::string Ifc4x3_rc4::IfcBlobTexture::RasterFormat() const { std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcBlobTexture::setRasterFormat(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -boost::dynamic_bitset<> Ifc4x3_rc4::IfcBlobTexture::RasterCode() const { return *data_->getArgument(6); } +boost::dynamic_bitset<> Ifc4x3_rc4::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13190,11 +13656,11 @@ Ifc4x3_rc4::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData* e) : IfcSurfac Ifc4x3_rc4::IfcBlobTexture::IfcBlobTexture(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_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBlobTexture_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_RasterFormat));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RasterCode));data_->setArgument(6,attr);} } // Function implementations for IfcBlock -double Ifc4x3_rc4::IfcBlock::XLength() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcBlock::XLength() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcBlock::setXLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcBlock::YLength() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcBlock::YLength() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcBlock::setYLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -double Ifc4x3_rc4::IfcBlock::ZLength() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcBlock::ZLength() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcBlock::setZLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13204,9 +13670,8 @@ Ifc4x3_rc4::IfcBlock::IfcBlock(IfcEntityInstanceData* e) : IfcCsgPrimitive3D((If Ifc4x3_rc4::IfcBlock::IfcBlock(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 IfcBoiler -bool Ifc4x3_rc4::IfcBoiler::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcBoilerTypeEnum::Value Ifc4x3_rc4::IfcBoiler::PredefinedType() const { return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBoiler::setPredefinedType(::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBoilerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > Ifc4x3_rc4::IfcBoiler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBoilerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBoiler::declaration() const { return *IFC4X3_RC4_IfcBoiler_type; } @@ -13215,14 +13680,14 @@ Ifc4x3_rc4::IfcBoiler::IfcBoiler(IfcEntityInstanceData* e) : IfcEnergyConversion Ifc4x3_rc4::IfcBoiler::IfcBoiler(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::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoiler_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBoilerTypeEnum::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 IfcBoilerType -::Ifc4x3_rc4::IfcBoilerTypeEnum::Value Ifc4x3_rc4::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcBoilerTypeEnum::Value Ifc4x3_rc4::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcBoilerType::setPredefinedType(::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBoilerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBoilerType::declaration() const { return *IFC4X3_RC4_IfcBoilerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBoilerType::Class() { return *IFC4X3_RC4_IfcBoilerType_type; } Ifc4x3_rc4::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBoilerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBoilerType::IfcBoilerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoilerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBoilerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcBoilerType::IfcBoilerType(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::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoilerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBoilerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcBooleanClippingResult @@ -13233,11 +13698,11 @@ Ifc4x3_rc4::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstance Ifc4x3_rc4::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBooleanClippingResult_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Operator,::Ifc4x3_rc4::IfcBooleanOperator::ToString(v1_Operator))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FirstOperand));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SecondOperand));data_->setArgument(2,attr);} } // Function implementations for IfcBooleanResult -::Ifc4x3_rc4::IfcBooleanOperator::Value Ifc4x3_rc4::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc4::IfcBooleanOperator::FromString(*data_->getArgument(0)); } +::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 (::Ifc4x3_rc4::IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::FirstOperand() const { return (::Ifc4x3_rc4::IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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 (::Ifc4x3_rc4::IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::SecondOperand() const { return (::Ifc4x3_rc4::IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcBooleanResult::setSecondOperand(::Ifc4x3_rc4::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13255,9 +13720,8 @@ Ifc4x3_rc4::IfcBorehole::IfcBorehole(IfcEntityInstanceData* e) : IfcGeotechnical Ifc4x3_rc4::IfcBorehole::IfcBorehole(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) : IfcGeotechnicalAssembly((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBorehole_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcBoundaryCondition -bool Ifc4x3_rc4::IfcBoundaryCondition::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcBoundaryCondition::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcBoundaryCondition::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryCondition::declaration() const { return *IFC4X3_RC4_IfcBoundaryCondition_type; } @@ -13271,26 +13735,20 @@ Ifc4x3_rc4::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryCurve::declaration() const { return *IFC4X3_RC4_IfcBoundaryCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryCurve::Class() { return *IFC4X3_RC4_IfcBoundaryCurve_type; } Ifc4x3_rc4::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData* e) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBoundaryCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBoundaryCurve::IfcBoundaryCurve(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool 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);} } +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 -bool Ifc4x3_rc4::IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthX() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { return (::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthY() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { return (::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthZ() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { return (::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthX() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return (::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthY() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return (::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthZ() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return (::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13300,14 +13758,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 -bool Ifc4x3_rc4::IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaX() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { return (::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaY() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { return (::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaZ() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { return (::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13317,23 +13772,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 -bool Ifc4x3_rc4::IfcBoundaryNodeCondition::hasTranslationalStiffnessX() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { return (::Ifc4x3_rc4::IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcBoundaryNodeCondition::hasTranslationalStiffnessY() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { return (::Ifc4x3_rc4::IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcBoundaryNodeCondition::hasTranslationalStiffnessZ() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { return (::Ifc4x3_rc4::IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcBoundaryNodeCondition::hasRotationalStiffnessX() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { return (::Ifc4x3_rc4::IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcBoundaryNodeCondition::hasRotationalStiffnessY() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { return (::Ifc4x3_rc4::IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcBoundaryNodeCondition::hasRotationalStiffnessZ() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return (::Ifc4x3_rc4::IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13343,8 +13792,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 -bool Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::hasWarpingStiffness() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcWarpingStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return (::Ifc4x3_rc4::IfcWarpingStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcWarpingStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcWarpingStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_rc4::IfcWarpingStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -13370,13 +13818,13 @@ 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 (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcBoundingBox::Corner() const { return (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } -double Ifc4x3_rc4::IfcBoundingBox::YDim() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcBoundingBox::YDim() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcBoundingBox::setYDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -double Ifc4x3_rc4::IfcBoundingBox::ZDim() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcBoundingBox::ZDim() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcBoundingBox::setZDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13386,7 +13834,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 (::Ifc4x3_rc4::IfcBoundingBox*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcBoundingBox* Ifc4x3_rc4::IfcBoxedHalfSpace::Enclosure() const { return (::Ifc4x3_rc4::IfcBoundingBox*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_rc4::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13396,9 +13844,8 @@ Ifc4x3_rc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoxedHalfSpace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BaseSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AgreementFlag));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Enclosure));data_->setArgument(2,attr);} } // Function implementations for IfcBridge -bool Ifc4x3_rc4::IfcBridge::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcBridgeTypeEnum::Value Ifc4x3_rc4::IfcBridge::PredefinedType() const { return ::Ifc4x3_rc4::IfcBridgeTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcBridge::setPredefinedType(::Ifc4x3_rc4::IfcBridgeTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBridgeTypeEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > Ifc4x3_rc4::IfcBridge::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBridgeTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBridgeTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBridge::declaration() const { return *IFC4X3_RC4_IfcBridge_type; } @@ -13407,14 +13854,11 @@ Ifc4x3_rc4::IfcBridge::IfcBridge(IfcEntityInstanceData* e) : IfcFacility((IfcEnt Ifc4x3_rc4::IfcBridge::IfcBridge(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, boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBridge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcBridgeTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcBuilding -bool Ifc4x3_rc4::IfcBuilding::hasElevationOfRefHeight() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcBuilding::ElevationOfRefHeight() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcBuilding::setElevationOfRefHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcBuilding::hasElevationOfTerrain() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcBuilding::ElevationOfTerrain() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcBuilding::setElevationOfTerrain(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcBuilding::hasBuildingAddress() const { return !data_->getArgument(11)->isNull(); } -::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcBuilding::BuildingAddress() const { return (::Ifc4x3_rc4::IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(11))); } +boost::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +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 (::Ifc4x3_rc4::IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(11))); } void Ifc4x3_rc4::IfcBuilding::setBuildingAddress(::Ifc4x3_rc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -13424,9 +13868,8 @@ Ifc4x3_rc4::IfcBuilding::IfcBuilding(IfcEntityInstanceData* e) : IfcFacility((If Ifc4x3_rc4::IfcBuilding::IfcBuilding(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, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc4::IfcPostalAddress* v12_BuildingAddress) : IfcFacility((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuilding_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_ElevationOfRefHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_ElevationOfRefHeight));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ElevationOfTerrain) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ElevationOfTerrain));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_BuildingAddress));data_->setArgument(11,attr);} } // Function implementations for IfcBuildingElementPart -bool Ifc4x3_rc4::IfcBuildingElementPart::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementPart::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBuildingElementPart::setPredefinedType(::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementPart::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementPart::declaration() const { return *IFC4X3_RC4_IfcBuildingElementPart_type; } @@ -13435,19 +13878,18 @@ Ifc4x3_rc4::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData Ifc4x3_rc4::IfcBuildingElementPart::IfcBuildingElementPart(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::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementPart_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBuildingElementPartTypeEnum::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 IfcBuildingElementPartType -::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcBuildingElementPartType::setPredefinedType(::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementPartType::declaration() const { return *IFC4X3_RC4_IfcBuildingElementPartType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementPartType::Class() { return *IFC4X3_RC4_IfcBuildingElementPartType_type; } Ifc4x3_rc4::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBuildingElementPartType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBuildingElementPartType::IfcBuildingElementPartType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementPartType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBuildingElementPartTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcBuildingElementPartType::IfcBuildingElementPartType(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::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementPartType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBuildingElementPartTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcBuildingElementProxy -bool Ifc4x3_rc4::IfcBuildingElementProxy::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementProxy::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBuildingElementProxy::setPredefinedType(::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementProxy::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementProxy::declaration() const { return *IFC4X3_RC4_IfcBuildingElementProxy_type; } @@ -13456,19 +13898,18 @@ Ifc4x3_rc4::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceDa Ifc4x3_rc4::IfcBuildingElementProxy::IfcBuildingElementProxy(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::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementProxy_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBuildingElementProxyTypeEnum::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 IfcBuildingElementProxyType -::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementProxyType::declaration() const { return *IFC4X3_RC4_IfcBuildingElementProxyType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementProxyType::Class() { return *IFC4X3_RC4_IfcBuildingElementProxyType_type; } Ifc4x3_rc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBuildingElementProxyType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementProxyType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(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::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingElementProxyType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcBuildingStorey -bool Ifc4x3_rc4::IfcBuildingStorey::hasElevation() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcBuildingStorey::Elevation() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcBuildingStorey::setElevation(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingStorey::declaration() const { return *IFC4X3_RC4_IfcBuildingStorey_type; } @@ -13477,12 +13918,10 @@ Ifc4x3_rc4::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcBuildingStorey::IfcBuildingStorey(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, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuildingStorey_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_Elevation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Elevation));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcBuildingSystem -bool Ifc4x3_rc4::IfcBuildingSystem::hasPredefinedType() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value Ifc4x3_rc4::IfcBuildingSystem::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcBuildingSystem::setPredefinedType(::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcBuildingSystem::hasLongName() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcBuildingSystem::LongName() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcBuildingSystem::setLongName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuildingSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } +void Ifc4x3_rc4::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcBuildingSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingSystem::declaration() const { return *IFC4X3_RC4_IfcBuildingSystem_type; } @@ -13504,15 +13943,13 @@ Ifc4x3_rc4::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcBuiltElementType::declaration() const { return *IFC4X3_RC4_IfcBuiltElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBuiltElementType::Class() { return *IFC4X3_RC4_IfcBuiltElementType_type; } Ifc4x3_rc4::IfcBuiltElementType::IfcBuiltElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBuiltElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBuiltElementType::IfcBuiltElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuiltElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcBuiltElementType::IfcBuiltElementType(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) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuiltElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcBuiltSystem -bool Ifc4x3_rc4::IfcBuiltSystem::hasPredefinedType() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value Ifc4x3_rc4::IfcBuiltSystem::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcBuiltSystem::setPredefinedType(::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcBuiltSystem::hasLongName() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcBuiltSystem::LongName() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcBuiltSystem::setLongName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuiltSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::FromString(*data_->getArgument(5)); } +void Ifc4x3_rc4::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcBuiltSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuiltSystem::declaration() const { return *IFC4X3_RC4_IfcBuiltSystem_type; } @@ -13521,9 +13958,8 @@ Ifc4x3_rc4::IfcBuiltSystem::IfcBuiltSystem(IfcEntityInstanceData* e) : IfcSystem Ifc4x3_rc4::IfcBuiltSystem::IfcBuiltSystem(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< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBuiltSystem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_PredefinedType,::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::ToString(*v6_PredefinedType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongName));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcBurner -bool Ifc4x3_rc4::IfcBurner::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcBurnerTypeEnum::Value Ifc4x3_rc4::IfcBurner::PredefinedType() const { return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBurner::setPredefinedType(::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBurnerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > Ifc4x3_rc4::IfcBurner::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBurnerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBurner::declaration() const { return *IFC4X3_RC4_IfcBurner_type; } @@ -13532,27 +13968,26 @@ Ifc4x3_rc4::IfcBurner::IfcBurner(IfcEntityInstanceData* e) : IfcEnergyConversion Ifc4x3_rc4::IfcBurner::IfcBurner(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::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBurner_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBurnerTypeEnum::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 IfcBurnerType -::Ifc4x3_rc4::IfcBurnerTypeEnum::Value Ifc4x3_rc4::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcBurnerTypeEnum::Value Ifc4x3_rc4::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcBurnerType::setPredefinedType(::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBurnerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBurnerType::declaration() const { return *IFC4X3_RC4_IfcBurnerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcBurnerType::Class() { return *IFC4X3_RC4_IfcBurnerType_type; } Ifc4x3_rc4::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcBurnerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcBurnerType::IfcBurnerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBurnerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBurnerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcBurnerType::IfcBurnerType(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::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBurnerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcBurnerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCShapeProfileDef -double Ifc4x3_rc4::IfcCShapeProfileDef::Depth() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcCShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcCShapeProfileDef::Width() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcCShapeProfileDef::Width() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcCShapeProfileDef::WallThickness() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcCShapeProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcCShapeProfileDef::Girth() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcCShapeProfileDef::hasInternalFilletRadius() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcCShapeProfileDef::InternalFilletRadius() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcCShapeProfileDef::setInternalFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcCShapeProfileDef_type; } @@ -13561,9 +13996,8 @@ Ifc4x3_rc4::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCShapeProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Width));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WallThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Girth));data_->setArgument(6,attr);} if (v8_InternalFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_InternalFilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcCableCarrierFitting -bool Ifc4x3_rc4::IfcCableCarrierFitting::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierFitting::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCableCarrierFitting::setPredefinedType(::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierFitting::declaration() const { return *IFC4X3_RC4_IfcCableCarrierFitting_type; } @@ -13572,19 +14006,18 @@ Ifc4x3_rc4::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData Ifc4x3_rc4::IfcCableCarrierFitting::IfcCableCarrierFitting(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::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierFitting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableCarrierFittingTypeEnum::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 IfcCableCarrierFittingType -::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierFittingType::declaration() const { return *IFC4X3_RC4_IfcCableCarrierFittingType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierFittingType::Class() { return *IFC4X3_RC4_IfcCableCarrierFittingType_type; } Ifc4x3_rc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCableCarrierFittingType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(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::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCableCarrierSegment -bool Ifc4x3_rc4::IfcCableCarrierSegment::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCableCarrierSegment::setPredefinedType(::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierSegment::declaration() const { return *IFC4X3_RC4_IfcCableCarrierSegment_type; } @@ -13593,19 +14026,18 @@ Ifc4x3_rc4::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData Ifc4x3_rc4::IfcCableCarrierSegment::IfcCableCarrierSegment(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::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableCarrierSegmentTypeEnum::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 IfcCableCarrierSegmentType -::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierSegmentType::declaration() const { return *IFC4X3_RC4_IfcCableCarrierSegmentType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierSegmentType::Class() { return *IFC4X3_RC4_IfcCableCarrierSegmentType_type; } Ifc4x3_rc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData* e) : IfcFlowSegmentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCableCarrierSegmentType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(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::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableCarrierSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCableFitting -bool Ifc4x3_rc4::IfcCableFitting::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value Ifc4x3_rc4::IfcCableFitting::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCableFitting::setPredefinedType(::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCableFittingTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableFitting::declaration() const { return *IFC4X3_RC4_IfcCableFitting_type; } @@ -13614,19 +14046,18 @@ Ifc4x3_rc4::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData* e) : IfcFlow Ifc4x3_rc4::IfcCableFitting::IfcCableFitting(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::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableFitting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableFittingTypeEnum::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 IfcCableFittingType -::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value Ifc4x3_rc4::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value Ifc4x3_rc4::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCableFittingType::setPredefinedType(::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCableFittingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableFittingType::declaration() const { return *IFC4X3_RC4_IfcCableFittingType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCableFittingType::Class() { return *IFC4X3_RC4_IfcCableFittingType_type; } Ifc4x3_rc4::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCableFittingType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCableFittingType::IfcCableFittingType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCableFittingType::IfcCableFittingType(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::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCableSegment -bool Ifc4x3_rc4::IfcCableSegment::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCableSegment::setPredefinedType(::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCableSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableSegment::declaration() const { return *IFC4X3_RC4_IfcCableSegment_type; } @@ -13635,19 +14066,18 @@ Ifc4x3_rc4::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData* e) : IfcFlow Ifc4x3_rc4::IfcCableSegment::IfcCableSegment(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::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableSegmentTypeEnum::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 IfcCableSegmentType -::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCableSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCableSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableSegmentType::declaration() const { return *IFC4X3_RC4_IfcCableSegmentType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCableSegmentType::Class() { return *IFC4X3_RC4_IfcCableSegmentType_type; } Ifc4x3_rc4::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData* e) : IfcFlowSegmentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCableSegmentType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCableSegmentType::IfcCableSegmentType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCableSegmentType::IfcCableSegmentType(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::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCableSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCableSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCaissonFoundation -bool Ifc4x3_rc4::IfcCaissonFoundation::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc4::IfcCaissonFoundation::PredefinedType() const { return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCaissonFoundation::setPredefinedType(::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc4::IfcCaissonFoundation::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCaissonFoundation::declaration() const { return *IFC4X3_RC4_IfcCaissonFoundation_type; } @@ -13656,17 +14086,17 @@ Ifc4x3_rc4::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcCaissonFoundation::IfcCaissonFoundation(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::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCaissonFoundation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCaissonFoundationTypeEnum::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 IfcCaissonFoundationType -::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc4::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc4::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCaissonFoundationType::setPredefinedType(::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCaissonFoundationType::declaration() const { return *IFC4X3_RC4_IfcCaissonFoundationType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCaissonFoundationType::Class() { return *IFC4X3_RC4_IfcCaissonFoundationType_type; } Ifc4x3_rc4::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData* e) : IfcDeepFoundationType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCaissonFoundationType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCaissonFoundationType::IfcCaissonFoundationType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCaissonFoundationType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCaissonFoundationTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCaissonFoundationType::IfcCaissonFoundationType(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::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCaissonFoundationType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCaissonFoundationTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x3_rc4::IfcCartesianPoint::Coordinates() const { return *data_->getArgument(0); } +std::vector< double > /*[1:3]*/ Ifc4x3_rc4::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -13684,11 +14114,10 @@ Ifc4x3_rc4::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData* Ifc4x3_rc4::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCartesianPointList_type); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList2D::CoordList() const { return *data_->getArgument(0); } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcCartesianPointList2D::hasTagList() const { return !data_->getArgument(1)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcCartesianPointList2D::TagList() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcCartesianPointList2D::setTagList(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcCartesianPointList2D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList2D::declaration() const { return *IFC4X3_RC4_IfcCartesianPointList2D_type; } @@ -13697,11 +14126,10 @@ Ifc4x3_rc4::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceDa Ifc4x3_rc4::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCartesianPointList2D_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 IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList3D::CoordList() const { return *data_->getArgument(0); } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcCartesianPointList3D::hasTagList() const { return !data_->getArgument(1)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcCartesianPointList3D::TagList() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcCartesianPointList3D::setTagList(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcCartesianPointList3D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList3D::declaration() const { return *IFC4X3_RC4_IfcCartesianPointList3D_type; } @@ -13710,17 +14138,14 @@ 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 -bool Ifc4x3_rc4::IfcCartesianTransformationOperator::hasAxis1() const { return !data_->getArgument(0)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis1() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcCartesianTransformationOperator::hasAxis2() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis2() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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 (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcCartesianTransformationOperator::LocalOrigin() const { return (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcCartesianTransformationOperator::hasScale() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcCartesianTransformationOperator::Scale() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcCartesianTransformationOperator::setScale(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator::declaration() const { return *IFC4X3_RC4_IfcCartesianTransformationOperator_type; } @@ -13737,9 +14162,8 @@ Ifc4x3_rc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOper Ifc4x3_rc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCartesianTransformationOperator2D_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); } } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -bool Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::hasScale2() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC4X3_RC4_IfcCartesianTransformationOperator2DnonUniform_type; } @@ -13748,8 +14172,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 -bool Ifc4x3_rc4::IfcCartesianTransformationOperator3D::hasAxis3() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator3D::Axis3() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -13759,12 +14182,10 @@ Ifc4x3_rc4::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOper Ifc4x3_rc4::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCartesianTransformationOperator3D_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Axis3));data_->setArgument(4,attr);} } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -bool Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::hasScale2() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::hasScale3() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC4X3_RC4_IfcCartesianTransformationOperator3DnonUniform_type; } @@ -13773,7 +14194,7 @@ Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransfor Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCartesianTransformationOperator3DnonUniform_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Axis3));data_->setArgument(4,attr);} if (v6_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Scale2));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scale3) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scale3));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcCenterLineProfileDef -double Ifc4x3_rc4::IfcCenterLineProfileDef::Thickness() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcCenterLineProfileDef::Thickness() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcCenterLineProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13783,9 +14204,8 @@ Ifc4x3_rc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceDa Ifc4x3_rc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCenterLineProfileDef_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_Curve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Thickness));data_->setArgument(3,attr);} } // Function implementations for IfcChiller -bool Ifc4x3_rc4::IfcChiller::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcChillerTypeEnum::Value Ifc4x3_rc4::IfcChiller::PredefinedType() const { return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcChiller::setPredefinedType(::Ifc4x3_rc4::IfcChillerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcChillerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > Ifc4x3_rc4::IfcChiller::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcChillerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcChiller::declaration() const { return *IFC4X3_RC4_IfcChiller_type; } @@ -13794,19 +14214,18 @@ Ifc4x3_rc4::IfcChiller::IfcChiller(IfcEntityInstanceData* e) : IfcEnergyConversi Ifc4x3_rc4::IfcChiller::IfcChiller(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::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChiller_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcChillerTypeEnum::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 IfcChillerType -::Ifc4x3_rc4::IfcChillerTypeEnum::Value Ifc4x3_rc4::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcChillerTypeEnum::Value Ifc4x3_rc4::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcChillerType::setPredefinedType(::Ifc4x3_rc4::IfcChillerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcChillerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcChillerType::declaration() const { return *IFC4X3_RC4_IfcChillerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcChillerType::Class() { return *IFC4X3_RC4_IfcChillerType_type; } Ifc4x3_rc4::IfcChillerType::IfcChillerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcChillerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcChillerType::IfcChillerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChillerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcChillerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcChillerType::IfcChillerType(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::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChillerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcChillerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcChimney -bool Ifc4x3_rc4::IfcChimney::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcChimneyTypeEnum::Value Ifc4x3_rc4::IfcChimney::PredefinedType() const { return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcChimney::setPredefinedType(::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcChimneyTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > Ifc4x3_rc4::IfcChimney::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcChimneyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcChimney::declaration() const { return *IFC4X3_RC4_IfcChimney_type; } @@ -13815,17 +14234,17 @@ Ifc4x3_rc4::IfcChimney::IfcChimney(IfcEntityInstanceData* e) : IfcBuiltElement(( Ifc4x3_rc4::IfcChimney::IfcChimney(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::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChimney_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcChimneyTypeEnum::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 IfcChimneyType -::Ifc4x3_rc4::IfcChimneyTypeEnum::Value Ifc4x3_rc4::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcChimneyTypeEnum::Value Ifc4x3_rc4::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcChimneyType::setPredefinedType(::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcChimneyTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcChimneyType::declaration() const { return *IFC4X3_RC4_IfcChimneyType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcChimneyType::Class() { return *IFC4X3_RC4_IfcChimneyType_type; } Ifc4x3_rc4::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcChimneyType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcChimneyType::IfcChimneyType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChimneyType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcChimneyTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcChimneyType::IfcChimneyType(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::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcChimneyType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcChimneyTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCircle -double Ifc4x3_rc4::IfcCircle::Radius() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcCircle::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcCircle::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13835,7 +14254,7 @@ Ifc4x3_rc4::IfcCircle::IfcCircle(IfcEntityInstanceData* e) : IfcConic((IfcEntity Ifc4x3_rc4::IfcCircle::IfcCircle(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCircle_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 IfcCircleHollowProfileDef -double Ifc4x3_rc4::IfcCircleHollowProfileDef::WallThickness() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcCircleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcCircleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -13845,7 +14264,7 @@ Ifc4x3_rc4::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstan Ifc4x3_rc4::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCircleHollowProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Radius));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_WallThickness));data_->setArgument(4,attr);} } // Function implementations for IfcCircleProfileDef -double Ifc4x3_rc4::IfcCircleProfileDef::Radius() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcCircleProfileDef::Radius() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcCircleProfileDef::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13868,29 +14287,23 @@ Ifc4x3_rc4::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcCivilElementType::declaration() const { return *IFC4X3_RC4_IfcCivilElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCivilElementType::Class() { return *IFC4X3_RC4_IfcCivilElementType_type; } Ifc4x3_rc4::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCivilElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCivilElementType::IfcCivilElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCivilElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcCivilElementType::IfcCivilElementType(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) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCivilElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcClassification -bool Ifc4x3_rc4::IfcClassification::hasSource() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcClassification::Source() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcClassification::setSource(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcClassification::hasEdition() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcClassification::Edition() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcClassification::setEdition(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcClassification::hasEditionDate() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcClassification::EditionDate() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcClassification::setEditionDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -std::string Ifc4x3_rc4::IfcClassification::Name() const { return *data_->getArgument(3); } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Source() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Edition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +std::string Ifc4x3_rc4::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcClassification::hasDescription() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcClassification::Description() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcClassification::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcClassification::hasLocation() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcClassification::Location() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcClassification::setLocation(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcClassification::hasReferenceTokens() const { return !data_->getArgument(6)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcClassification::ReferenceTokens() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcClassification::setReferenceTokens(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Location() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcClassification::ReferenceTokens() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc4::IfcClassification::ClassificationForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc4::IfcClassificationReference::list::ptr Ifc4x3_rc4::IfcClassification::HasReferences() const { return data_->getInverse(IFC4X3_RC4_IfcClassificationReference_type, 3)->as(); } @@ -13901,15 +14314,12 @@ 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 -bool Ifc4x3_rc4::IfcClassificationReference::hasReferencedSource() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcClassificationReferenceSelect* Ifc4x3_rc4::IfcClassificationReference::ReferencedSource() const { return (::Ifc4x3_rc4::IfcClassificationReferenceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcClassificationReferenceSelect* Ifc4x3_rc4::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcClassificationReferenceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc4::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcClassificationReference::hasDescription() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcClassificationReference::Description() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcClassificationReference::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcClassificationReference::hasSort() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcClassificationReference::Sort() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcClassificationReference::setSort(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Sort() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc4::IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc4::IfcClassificationReference::list::ptr Ifc4x3_rc4::IfcClassificationReference::HasReferences() const { return data_->getInverse(IFC4X3_RC4_IfcClassificationReference_type, 3)->as(); } @@ -13925,10 +14335,10 @@ Ifc4x3_rc4::IfcClassificationReference::IfcClassificationReference(boost::option const IfcParse::entity& Ifc4x3_rc4::IfcClosedShell::declaration() const { return *IFC4X3_RC4_IfcClosedShell_type; } const IfcParse::entity& Ifc4x3_rc4::IfcClosedShell::Class() { return *IFC4X3_RC4_IfcClosedShell_type; } Ifc4x3_rc4::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData* e) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcClosedShell_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcClosedShell::IfcClosedShell(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcClosedShell_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcClosedShell_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcClothoid -double Ifc4x3_rc4::IfcClothoid::ClothoidConstant() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcClothoid::ClothoidConstant() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcClothoid::setClothoidConstant(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13938,9 +14348,8 @@ Ifc4x3_rc4::IfcClothoid::IfcClothoid(IfcEntityInstanceData* e) : IfcSpiral((IfcE Ifc4x3_rc4::IfcClothoid::IfcClothoid(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcClothoid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClothoidConstant));data_->setArgument(1,attr);} } // Function implementations for IfcCoil -bool Ifc4x3_rc4::IfcCoil::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCoilTypeEnum::Value Ifc4x3_rc4::IfcCoil::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCoil::setPredefinedType(::Ifc4x3_rc4::IfcCoilTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCoilTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > Ifc4x3_rc4::IfcCoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCoil::declaration() const { return *IFC4X3_RC4_IfcCoil_type; } @@ -13949,21 +14358,21 @@ Ifc4x3_rc4::IfcCoil::IfcCoil(IfcEntityInstanceData* e) : IfcEnergyConversionDevi Ifc4x3_rc4::IfcCoil::IfcCoil(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::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoil_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCoilTypeEnum::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 IfcCoilType -::Ifc4x3_rc4::IfcCoilTypeEnum::Value Ifc4x3_rc4::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCoilTypeEnum::Value Ifc4x3_rc4::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCoilType::setPredefinedType(::Ifc4x3_rc4::IfcCoilTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCoilTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCoilType::declaration() const { return *IFC4X3_RC4_IfcCoilType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCoilType::Class() { return *IFC4X3_RC4_IfcCoilType_type; } Ifc4x3_rc4::IfcCoilType::IfcCoilType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCoilType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCoilType::IfcCoilType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoilType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCoilTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCoilType::IfcCoilType(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::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoilType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCoilTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcColourRgb -double Ifc4x3_rc4::IfcColourRgb::Red() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcColourRgb::Red() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcColourRgb::setRed(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcColourRgb::Green() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcColourRgb::Green() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcColourRgb::setGreen(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -double Ifc4x3_rc4::IfcColourRgb::Blue() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcColourRgb::Blue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcColourRgb::setBlue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13973,7 +14382,7 @@ Ifc4x3_rc4::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData* e) : IfcColourSpec Ifc4x3_rc4::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcColourRgb_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_Red));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Green));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Blue));data_->setArgument(3,attr);} } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x3_rc4::IfcColourRgbList::ColourList() const { return *data_->getArgument(0); } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -13983,9 +14392,8 @@ Ifc4x3_rc4::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData* e) : IfcPr Ifc4x3_rc4::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcColourRgbList_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ColourList));data_->setArgument(0,attr);} } // Function implementations for IfcColourSpecification -bool Ifc4x3_rc4::IfcColourSpecification::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcColourSpecification::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcColourSpecification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcColourSpecification::declaration() const { return *IFC4X3_RC4_IfcColourSpecification_type; } @@ -13994,9 +14402,8 @@ Ifc4x3_rc4::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData Ifc4x3_rc4::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcColourSpecification_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); } } // Function implementations for IfcColumn -bool Ifc4x3_rc4::IfcColumn::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcColumnTypeEnum::Value Ifc4x3_rc4::IfcColumn::PredefinedType() const { return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcColumn::setPredefinedType(::Ifc4x3_rc4::IfcColumnTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcColumnTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > Ifc4x3_rc4::IfcColumn::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcColumnTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcColumn::declaration() const { return *IFC4X3_RC4_IfcColumn_type; } @@ -14013,19 +14420,18 @@ Ifc4x3_rc4::IfcColumnStandardCase::IfcColumnStandardCase(IfcEntityInstanceData* Ifc4x3_rc4::IfcColumnStandardCase::IfcColumnStandardCase(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::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcColumnStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcColumnTypeEnum::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 IfcColumnType -::Ifc4x3_rc4::IfcColumnTypeEnum::Value Ifc4x3_rc4::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcColumnTypeEnum::Value Ifc4x3_rc4::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcColumnType::setPredefinedType(::Ifc4x3_rc4::IfcColumnTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcColumnTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcColumnType::declaration() const { return *IFC4X3_RC4_IfcColumnType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcColumnType::Class() { return *IFC4X3_RC4_IfcColumnType_type; } Ifc4x3_rc4::IfcColumnType::IfcColumnType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcColumnType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcColumnType::IfcColumnType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcColumnType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcColumnTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcColumnType::IfcColumnType(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::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcColumnType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcColumnTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCommunicationsAppliance -bool Ifc4x3_rc4::IfcCommunicationsAppliance::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcCommunicationsAppliance::PredefinedType() const { return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCommunicationsAppliance::setPredefinedType(::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcCommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCommunicationsAppliance::declaration() const { return *IFC4X3_RC4_IfcCommunicationsAppliance_type; } @@ -14034,55 +14440,52 @@ Ifc4x3_rc4::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInst Ifc4x3_rc4::IfcCommunicationsAppliance::IfcCommunicationsAppliance(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::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCommunicationsAppliance_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCommunicationsApplianceTypeEnum::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 IfcCommunicationsApplianceType -::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCommunicationsApplianceType::declaration() const { return *IFC4X3_RC4_IfcCommunicationsApplianceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCommunicationsApplianceType::Class() { return *IFC4X3_RC4_IfcCommunicationsApplianceType_type; } Ifc4x3_rc4::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCommunicationsApplianceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCommunicationsApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCommunicationsApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(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::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCommunicationsApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCommunicationsApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcComplexProperty -std::string Ifc4x3_rc4::IfcComplexProperty::UsageName() const { return *data_->getArgument(2); } +std::string Ifc4x3_rc4::IfcComplexProperty::UsageName() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcComplexProperty::setUsageName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcComplexProperty::HasProperties() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } -void Ifc4x3_rc4::IfcComplexProperty::setHasProperties(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } +void Ifc4x3_rc4::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcComplexProperty::declaration() const { return *IFC4X3_RC4_IfcComplexProperty_type; } const IfcParse::entity& Ifc4x3_rc4::IfcComplexProperty::Class() { return *IFC4X3_RC4_IfcComplexProperty_type; } Ifc4x3_rc4::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData* e) : IfcProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcComplexProperty_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v4_HasProperties) : IfcProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcComplexProperty_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_UsageName));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_HasProperties)->generalize());data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v4_HasProperties) : IfcProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcComplexProperty_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_UsageName));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_HasProperties)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcComplexPropertyTemplate -bool Ifc4x3_rc4::IfcComplexPropertyTemplate::hasUsageName() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcComplexPropertyTemplate::UsageName() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcComplexPropertyTemplate::setUsageName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcComplexPropertyTemplate::hasTemplateType() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_rc4::IfcComplexPropertyTemplate::TemplateType() const { return ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcComplexPropertyTemplate::setTemplateType(::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcComplexPropertyTemplate::hasHasPropertyTemplates() const { return !data_->getArgument(6)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr Ifc4x3_rc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { IfcEntityList::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } -void Ifc4x3_rc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcComplexPropertyTemplate::UsageName() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcComplexPropertyTemplate::TemplateType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } +void Ifc4x3_rc4::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > Ifc4x3_rc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } +void Ifc4x3_rc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcComplexPropertyTemplate::declaration() const { return *IFC4X3_RC4_IfcComplexPropertyTemplate_type; } const IfcParse::entity& Ifc4x3_rc4::IfcComplexPropertyTemplate::Class() { return *IFC4X3_RC4_IfcComplexPropertyTemplate_type; } Ifc4x3_rc4::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData* e) : IfcPropertyTemplate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcComplexPropertyTemplate_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(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_UsageName, boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcComplexPropertyTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_UsageName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_UsageName));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_TemplateType,::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::ToString(*v6_TemplateType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_HasPropertyTemplates) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } +Ifc4x3_rc4::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(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_UsageName, boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcComplexPropertyTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_UsageName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_UsageName));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_TemplateType,::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::ToString(*v6_TemplateType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_HasPropertyTemplates) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcCompositeCurve -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr Ifc4x3_rc4::IfcCompositeCurve::Segments() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcSegment >(); } -void Ifc4x3_rc4::IfcCompositeCurve::setSegments(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcCompositeCurve::SelfIntersect() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcCompositeCurve::setSelfIntersect(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr Ifc4x3_rc4::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcSegment >(); } +void Ifc4x3_rc4::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurve::declaration() const { return *IFC4X3_RC4_IfcCompositeCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurve::Class() { return *IFC4X3_RC4_IfcCompositeCurve_type; } Ifc4x3_rc4::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCompositeCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCompositeCurve::IfcCompositeCurve(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompositeCurve_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);} } +Ifc4x3_rc4::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompositeCurve_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 IfcCompositeCurveOnSurface @@ -14090,12 +14493,12 @@ Ifc4x3_rc4::IfcCompositeCurve::IfcCompositeCurve(IfcTemplatedEntityList< ::Ifc4x const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurveOnSurface::declaration() const { return *IFC4X3_RC4_IfcCompositeCurveOnSurface_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurveOnSurface::Class() { return *IFC4X3_RC4_IfcCompositeCurveOnSurface_type; } Ifc4x3_rc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData* e) : IfcCompositeCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCompositeCurveOnSurface_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcCompositeCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompositeCurveOnSurface_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);} } +Ifc4x3_rc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompositeCurveOnSurface_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 IfcCompositeCurveSegment -bool Ifc4x3_rc4::IfcCompositeCurveSegment::SameSense() const { return *data_->getArgument(1); } +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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCompositeCurveSegment::ParentCurve() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14105,22 +14508,20 @@ Ifc4x3_rc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstance Ifc4x3_rc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve* v3_ParentCurve) : IfcSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompositeCurveSegment_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);} } // Function implementations for IfcCompositeProfileDef -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcCompositeProfileDef::Profiles() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } -void Ifc4x3_rc4::IfcCompositeProfileDef::setProfiles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcCompositeProfileDef::hasLabel() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcCompositeProfileDef::Label() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcCompositeProfileDef::setLabel(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } +void Ifc4x3_rc4::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeProfileDef::declaration() const { return *IFC4X3_RC4_IfcCompositeProfileDef_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeProfileDef::Class() { return *IFC4X3_RC4_IfcCompositeProfileDef_type; } Ifc4x3_rc4::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData* e) : IfcProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCompositeProfileDef_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompositeProfileDef_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_Profiles)->generalize());data_->setArgument(2,attr);} if (v4_Label) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Label));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc4::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompositeProfileDef_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_Profiles)->generalize());data_->setArgument(2,attr);} if (v4_Label) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Label));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcCompressor -bool Ifc4x3_rc4::IfcCompressor::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCompressorTypeEnum::Value Ifc4x3_rc4::IfcCompressor::PredefinedType() const { return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCompressor::setPredefinedType(::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCompressorTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > Ifc4x3_rc4::IfcCompressor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCompressorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCompressor::declaration() const { return *IFC4X3_RC4_IfcCompressor_type; } @@ -14129,19 +14530,18 @@ Ifc4x3_rc4::IfcCompressor::IfcCompressor(IfcEntityInstanceData* e) : IfcFlowMovi Ifc4x3_rc4::IfcCompressor::IfcCompressor(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::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompressor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCompressorTypeEnum::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 IfcCompressorType -::Ifc4x3_rc4::IfcCompressorTypeEnum::Value Ifc4x3_rc4::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCompressorTypeEnum::Value Ifc4x3_rc4::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCompressorType::setPredefinedType(::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCompressorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCompressorType::declaration() const { return *IFC4X3_RC4_IfcCompressorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCompressorType::Class() { return *IFC4X3_RC4_IfcCompressorType_type; } Ifc4x3_rc4::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData* e) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCompressorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCompressorType::IfcCompressorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompressorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCompressorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCompressorType::IfcCompressorType(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::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCompressorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCompressorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCondenser -bool Ifc4x3_rc4::IfcCondenser::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCondenserTypeEnum::Value Ifc4x3_rc4::IfcCondenser::PredefinedType() const { return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCondenser::setPredefinedType(::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCondenserTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > Ifc4x3_rc4::IfcCondenser::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCondenserTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCondenser::declaration() const { return *IFC4X3_RC4_IfcCondenser_type; } @@ -14150,17 +14550,17 @@ Ifc4x3_rc4::IfcCondenser::IfcCondenser(IfcEntityInstanceData* e) : IfcEnergyConv Ifc4x3_rc4::IfcCondenser::IfcCondenser(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::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCondenser_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCondenserTypeEnum::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 IfcCondenserType -::Ifc4x3_rc4::IfcCondenserTypeEnum::Value Ifc4x3_rc4::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCondenserTypeEnum::Value Ifc4x3_rc4::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCondenserType::setPredefinedType(::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCondenserTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCondenserType::declaration() const { return *IFC4X3_RC4_IfcCondenserType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCondenserType::Class() { return *IFC4X3_RC4_IfcCondenserType_type; } Ifc4x3_rc4::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCondenserType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcConic::Position() const { return (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcConic::setPosition(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14170,20 +14570,19 @@ Ifc4x3_rc4::IfcConic::IfcConic(IfcEntityInstanceData* e) : IfcCurve((IfcEntityIn Ifc4x3_rc4::IfcConic::IfcConic(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConic_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcConnectedFaceSet -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFace >::ptr Ifc4x3_rc4::IfcConnectedFaceSet::CfsFaces() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcFace >(); } -void Ifc4x3_rc4::IfcConnectedFaceSet::setCfsFaces(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr Ifc4x3_rc4::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcFace >(); } +void Ifc4x3_rc4::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConnectedFaceSet::declaration() const { return *IFC4X3_RC4_IfcConnectedFaceSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConnectedFaceSet::Class() { return *IFC4X3_RC4_IfcConnectedFaceSet_type; } Ifc4x3_rc4::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConnectedFaceSet_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return (::Ifc4x3_rc4::IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcConnectionCurveGeometry::hasCurveOnRelatedElement() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { return (::Ifc4x3_rc4::IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14201,15 +14600,12 @@ Ifc4x3_rc4::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData* Ifc4x3_rc4::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConnectionGeometry_type); } // Function implementations for IfcConnectionPointEccentricity -bool Ifc4x3_rc4::IfcConnectionPointEccentricity::hasEccentricityInX() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInX() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcConnectionPointEccentricity::hasEccentricityInY() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInY() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcConnectionPointEccentricity::hasEccentricityInZ() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInZ() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionPointEccentricity::declaration() const { return *IFC4X3_RC4_IfcConnectionPointEccentricity_type; } @@ -14218,10 +14614,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 (::Ifc4x3_rc4::IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return (::Ifc4x3_rc4::IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_rc4::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcConnectionPointGeometry::hasPointOnRelatedElement() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { return (::Ifc4x3_rc4::IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_rc4::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14231,10 +14626,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 (::Ifc4x3_rc4::IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return (::Ifc4x3_rc4::IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcConnectionSurfaceGeometry::hasSurfaceOnRelatedElement() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { return (::Ifc4x3_rc4::IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14244,10 +14638,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 (::Ifc4x3_rc4::IfcSolidOrShell*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return (::Ifc4x3_rc4::IfcSolidOrShell*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_rc4::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcConnectionVolumeGeometry::hasVolumeOnRelatedElement() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { return (::Ifc4x3_rc4::IfcSolidOrShell*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcSolidOrShell*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_rc4::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14257,25 +14650,20 @@ Ifc4x3_rc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityIn Ifc4x3_rc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc4::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc4::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConnectionVolumeGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_VolumeOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VolumeOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConstraint -std::string Ifc4x3_rc4::IfcConstraint::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcConstraint::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcConstraint::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcConstraint::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcConstraintEnum::Value Ifc4x3_rc4::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc4::IfcConstraintEnum::FromString(*data_->getArgument(2)); } +boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +::Ifc4x3_rc4::IfcConstraintEnum::Value Ifc4x3_rc4::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc4::IfcConstraintEnum::FromString(*data_->getArgument(2)); } 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);} } -bool Ifc4x3_rc4::IfcConstraint::hasConstraintSource() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcConstraint::ConstraintSource() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcConstraint::setConstraintSource(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcConstraint::hasCreatingActor() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcConstraint::CreatingActor() const { return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +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 (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcConstraint::setCreatingActor(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcConstraint::hasCreationTime() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcConstraint::CreationTime() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcConstraint::setCreationTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcConstraint::hasUserDefinedGrade() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcConstraint::UserDefinedGrade() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcConstraint::setUserDefinedGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcConstraint::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc4::IfcResourceConstraintRelationship::list::ptr Ifc4x3_rc4::IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IFC4X3_RC4_IfcResourceConstraintRelationship_type, 2)->as(); } @@ -14286,114 +14674,101 @@ Ifc4x3_rc4::IfcConstraint::IfcConstraint(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc4::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstraint_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((IfcWrite::IfcWriteArgument::EnumerationReference(v3_ConstraintGrade,::Ifc4x3_rc4::IfcConstraintEnum::ToString(v3_ConstraintGrade))));data_->setArgument(2,attr);} if (v4_ConstraintSource) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ConstraintSource));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CreatingActor));data_->setArgument(4,attr);} if (v6_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_CreationTime));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_UserDefinedGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedGrade));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcConstructionEquipmentResource -bool Ifc4x3_rc4::IfcConstructionEquipmentResource::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionEquipmentResource::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcConstructionEquipmentResource::setPredefinedType(::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::ToString(v)));data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionEquipmentResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionEquipmentResource::declaration() const { return *IFC4X3_RC4_IfcConstructionEquipmentResource_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionEquipmentResource::Class() { return *IFC4X3_RC4_IfcConstructionEquipmentResource_type; } Ifc4x3_rc4::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConstructionEquipmentResource_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionEquipmentResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionEquipmentResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(11)); } +::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionEquipmentResourceType::declaration() const { return *IFC4X3_RC4_IfcConstructionEquipmentResourceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionEquipmentResourceType::Class() { return *IFC4X3_RC4_IfcConstructionEquipmentResourceType_type; } Ifc4x3_rc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConstructionEquipmentResourceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionEquipmentResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcConstructionEquipmentResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } +Ifc4x3_rc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(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::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionEquipmentResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcConstructionEquipmentResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionMaterialResource -bool Ifc4x3_rc4::IfcConstructionMaterialResource::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionMaterialResource::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcConstructionMaterialResource::setPredefinedType(::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::ToString(v)));data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionMaterialResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionMaterialResource::declaration() const { return *IFC4X3_RC4_IfcConstructionMaterialResource_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionMaterialResource::Class() { return *IFC4X3_RC4_IfcConstructionMaterialResource_type; } Ifc4x3_rc4::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConstructionMaterialResource_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcConstructionMaterialResource::IfcConstructionMaterialResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionMaterialResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcConstructionMaterialResource::IfcConstructionMaterialResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionMaterialResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(11)); } +::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionMaterialResourceType::declaration() const { return *IFC4X3_RC4_IfcConstructionMaterialResourceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionMaterialResourceType::Class() { return *IFC4X3_RC4_IfcConstructionMaterialResourceType_type; } Ifc4x3_rc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConstructionMaterialResourceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionMaterialResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcConstructionMaterialResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } +Ifc4x3_rc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(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::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionMaterialResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcConstructionMaterialResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionProductResource -bool Ifc4x3_rc4::IfcConstructionProductResource::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionProductResource::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcConstructionProductResource::setPredefinedType(::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::ToString(v)));data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionProductResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionProductResource::declaration() const { return *IFC4X3_RC4_IfcConstructionProductResource_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionProductResource::Class() { return *IFC4X3_RC4_IfcConstructionProductResource_type; } Ifc4x3_rc4::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConstructionProductResource_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcConstructionProductResource::IfcConstructionProductResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionProductResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcConstructionProductResource::IfcConstructionProductResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionProductResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcConstructionProductResourceType -::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(11)); } +::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionProductResourceType::declaration() const { return *IFC4X3_RC4_IfcConstructionProductResourceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionProductResourceType::Class() { return *IFC4X3_RC4_IfcConstructionProductResourceType_type; } Ifc4x3_rc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConstructionProductResourceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::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);} } +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 -bool Ifc4x3_rc4::IfcConstructionResource::hasUsage() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcResourceTime* Ifc4x3_rc4::IfcConstructionResource::Usage() const { return (::Ifc4x3_rc4::IfcResourceTime*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcResourceTime* Ifc4x3_rc4::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcResourceTime*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void Ifc4x3_rc4::IfcConstructionResource::setUsage(::Ifc4x3_rc4::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcConstructionResource::hasBaseCosts() const { return !data_->getArgument(8)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr Ifc4x3_rc4::IfcConstructionResource::BaseCosts() const { IfcEntityList::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } -void Ifc4x3_rc4::IfcConstructionResource::setBaseCosts(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcConstructionResource::hasBaseQuantity() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResource::BaseQuantity() const { return (::Ifc4x3_rc4::IfcPhysicalQuantity*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +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 (::Ifc4x3_rc4::IfcPhysicalQuantity*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionResource::declaration() const { return *IFC4X3_RC4_IfcConstructionResource_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionResource::Class() { return *IFC4X3_RC4_IfcConstructionResource_type; } Ifc4x3_rc4::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData* e) : IfcResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConstructionResource_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcConstructionResource::IfcConstructionResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcConstructionResource::IfcConstructionResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} } // Function implementations for IfcConstructionResourceType -bool Ifc4x3_rc4::IfcConstructionResourceType::hasBaseCosts() const { return !data_->getArgument(9)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr Ifc4x3_rc4::IfcConstructionResourceType::BaseCosts() const { IfcEntityList::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } -void Ifc4x3_rc4::IfcConstructionResourceType::setBaseCosts(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcConstructionResourceType::hasBaseQuantity() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResourceType::BaseQuantity() const { return (::Ifc4x3_rc4::IfcPhysicalQuantity*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } +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 (::Ifc4x3_rc4::IfcPhysicalQuantity*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } void Ifc4x3_rc4::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionResourceType::declaration() const { return *IFC4X3_RC4_IfcConstructionResourceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionResourceType::Class() { return *IFC4X3_RC4_IfcConstructionResourceType_type; } Ifc4x3_rc4::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData* e) : IfcTypeResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConstructionResourceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcConstructionResourceType::IfcConstructionResourceType(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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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);} } +Ifc4x3_rc4::IfcConstructionResourceType::IfcConstructionResourceType(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) : IfcTypeResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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);} } // Function implementations for IfcContext -bool Ifc4x3_rc4::IfcContext::hasObjectType() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcContext::ObjectType() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcContext::setObjectType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcContext::hasLongName() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcContext::LongName() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcContext::setLongName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcContext::hasPhase() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcContext::Phase() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcContext::setPhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcContext::hasRepresentationContexts() const { return !data_->getArgument(7)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr Ifc4x3_rc4::IfcContext::RepresentationContexts() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcRepresentationContext >(); } -void Ifc4x3_rc4::IfcContext::setRepresentationContexts(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcContext::hasUnitsInContext() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcUnitAssignment* Ifc4x3_rc4::IfcContext::UnitsInContext() const { return (::Ifc4x3_rc4::IfcUnitAssignment*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +boost::optional< std::string > Ifc4x3_rc4::IfcContext::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcContext::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcContext::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +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 (::Ifc4x3_rc4::IfcUnitAssignment*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } 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(); } @@ -14402,10 +14777,10 @@ void Ifc4x3_rc4::IfcContext::setUnitsInContext(::Ifc4x3_rc4::IfcUnitAssignment* const IfcParse::entity& Ifc4x3_rc4::IfcContext::declaration() const { return *IFC4X3_RC4_IfcContext_type; } const IfcParse::entity& Ifc4x3_rc4::IfcContext::Class() { return *IFC4X3_RC4_IfcContext_type; } Ifc4x3_rc4::IfcContext::IfcContext(IfcEntityInstanceData* e) : IfcObjectDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcContext_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcContext::IfcContext(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_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcContext_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Phase) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Phase));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_RepresentationContexts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RepresentationContexts)->generalize());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_UnitsInContext));data_->setArgument(8,attr);} } +Ifc4x3_rc4::IfcContext::IfcContext(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_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcContext_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Phase) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Phase));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_RepresentationContexts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RepresentationContexts)->generalize());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_UnitsInContext));data_->setArgument(8,attr);} } // Function implementations for IfcContextDependentUnit -std::string Ifc4x3_rc4::IfcContextDependentUnit::Name() const { return *data_->getArgument(2); } +std::string Ifc4x3_rc4::IfcContextDependentUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcContextDependentUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcContextDependentUnit::HasExternalReference() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -14416,9 +14791,8 @@ Ifc4x3_rc4::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceDa Ifc4x3_rc4::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcContextDependentUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Dimensions));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x3_rc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Name));data_->setArgument(2,attr);} } // Function implementations for IfcControl -bool Ifc4x3_rc4::IfcControl::hasIdentification() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcControl::Identification() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcControl::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcControl::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToControl::list::ptr Ifc4x3_rc4::IfcControl::Controls() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToControl_type, 6)->as(); } @@ -14428,9 +14802,8 @@ Ifc4x3_rc4::IfcControl::IfcControl(IfcEntityInstanceData* e) : IfcObject((IfcEnt Ifc4x3_rc4::IfcControl::IfcControl(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) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } // Function implementations for IfcController -bool Ifc4x3_rc4::IfcController::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcControllerTypeEnum::Value Ifc4x3_rc4::IfcController::PredefinedType() const { return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcController::setPredefinedType(::Ifc4x3_rc4::IfcControllerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcControllerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > Ifc4x3_rc4::IfcController::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcControllerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcController::declaration() const { return *IFC4X3_RC4_IfcController_type; } @@ -14439,19 +14812,19 @@ Ifc4x3_rc4::IfcController::IfcController(IfcEntityInstanceData* e) : IfcDistribu Ifc4x3_rc4::IfcController::IfcController(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::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcController_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcControllerTypeEnum::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 IfcControllerType -::Ifc4x3_rc4::IfcControllerTypeEnum::Value Ifc4x3_rc4::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcControllerTypeEnum::Value Ifc4x3_rc4::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcControllerType::setPredefinedType(::Ifc4x3_rc4::IfcControllerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcControllerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcControllerType::declaration() const { return *IFC4X3_RC4_IfcControllerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcControllerType::Class() { return *IFC4X3_RC4_IfcControllerType_type; } Ifc4x3_rc4::IfcControllerType::IfcControllerType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcControllerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcControllerType::IfcControllerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcControllerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcControllerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcControllerType::IfcControllerType(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::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcControllerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcControllerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x3_rc4::IfcConversionBasedUnit::Name() const { return *data_->getArgument(2); } +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 (::Ifc4x3_rc4::IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcConversionBasedUnit::ConversionFactor() const { return (::Ifc4x3_rc4::IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } 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(); } @@ -14462,7 +14835,7 @@ Ifc4x3_rc4::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData Ifc4x3_rc4::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConversionBasedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Dimensions));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x3_rc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Name));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ConversionFactor));data_->setArgument(3,attr);} } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::ConversionOffset() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14472,9 +14845,8 @@ Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(I Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConversionBasedUnitWithOffset_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Dimensions));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x3_rc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Name));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ConversionFactor));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConversionOffset));data_->setArgument(4,attr);} } // Function implementations for IfcConveyorSegment -bool Ifc4x3_rc4::IfcConveyorSegment::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc4::IfcConveyorSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcConveyorSegment::setPredefinedType(::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc4::IfcConveyorSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConveyorSegment::declaration() const { return *IFC4X3_RC4_IfcConveyorSegment_type; } @@ -14483,19 +14855,18 @@ Ifc4x3_rc4::IfcConveyorSegment::IfcConveyorSegment(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcConveyorSegment::IfcConveyorSegment(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::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConveyorSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcConveyorSegmentTypeEnum::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 IfcConveyorSegmentType -::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc4::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc4::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcConveyorSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConveyorSegmentType::declaration() const { return *IFC4X3_RC4_IfcConveyorSegmentType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcConveyorSegmentType::Class() { return *IFC4X3_RC4_IfcConveyorSegmentType_type; } Ifc4x3_rc4::IfcConveyorSegmentType::IfcConveyorSegmentType(IfcEntityInstanceData* e) : IfcFlowSegmentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcConveyorSegmentType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcConveyorSegmentType::IfcConveyorSegmentType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConveyorSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcConveyorSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcConveyorSegmentType::IfcConveyorSegmentType(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::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConveyorSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcConveyorSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCooledBeam -bool Ifc4x3_rc4::IfcCooledBeam::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value Ifc4x3_rc4::IfcCooledBeam::PredefinedType() const { return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCooledBeam::setPredefinedType(::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCooledBeamTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc4::IfcCooledBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCooledBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCooledBeam::declaration() const { return *IFC4X3_RC4_IfcCooledBeam_type; } @@ -14504,19 +14875,18 @@ Ifc4x3_rc4::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData* e) : IfcEnergyCo Ifc4x3_rc4::IfcCooledBeam::IfcCooledBeam(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::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCooledBeam_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCooledBeamTypeEnum::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 IfcCooledBeamType -::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value Ifc4x3_rc4::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value Ifc4x3_rc4::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCooledBeamType::setPredefinedType(::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCooledBeamTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCooledBeamType::declaration() const { return *IFC4X3_RC4_IfcCooledBeamType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCooledBeamType::Class() { return *IFC4X3_RC4_IfcCooledBeamType_type; } Ifc4x3_rc4::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCooledBeamType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCooledBeamType::IfcCooledBeamType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCooledBeamType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCooledBeamTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCooledBeamType::IfcCooledBeamType(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::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCooledBeamType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCooledBeamTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoolingTower -bool Ifc4x3_rc4::IfcCoolingTower::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc4::IfcCoolingTower::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCoolingTower::setPredefinedType(::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc4::IfcCoolingTower::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCoolingTower::declaration() const { return *IFC4X3_RC4_IfcCoolingTower_type; } @@ -14525,19 +14895,19 @@ Ifc4x3_rc4::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData* e) : IfcEner Ifc4x3_rc4::IfcCoolingTower::IfcCoolingTower(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::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoolingTower_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCoolingTowerTypeEnum::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 IfcCoolingTowerType -::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc4::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc4::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCoolingTowerType::setPredefinedType(::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCoolingTowerType::declaration() const { return *IFC4X3_RC4_IfcCoolingTowerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCoolingTowerType::Class() { return *IFC4X3_RC4_IfcCoolingTowerType_type; } Ifc4x3_rc4::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCoolingTowerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc4::IfcCoordinateOperation::SourceCRS() const { return (::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcCoordinateReferenceSystem*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcCoordinateReferenceSystem* Ifc4x3_rc4::IfcCoordinateOperation::TargetCRS() const { return (::Ifc4x3_rc4::IfcCoordinateReferenceSystem*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_rc4::IfcCoordinateReferenceSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14547,17 +14917,14 @@ Ifc4x3_rc4::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData Ifc4x3_rc4::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoordinateOperation_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);} } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4x3_rc4::IfcCoordinateReferenceSystem::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcCoordinateReferenceSystem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcCoordinateReferenceSystem::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcCoordinateReferenceSystem::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcCoordinateReferenceSystem::hasGeodeticDatum() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcCoordinateReferenceSystem::GeodeticDatum() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setGeodeticDatum(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcCoordinateReferenceSystem::hasVerticalDatum() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcCoordinateReferenceSystem::VerticalDatum() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setVerticalDatum(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcCoordinateOperation::list::ptr Ifc4x3_rc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IFC4X3_RC4_IfcCoordinateOperation_type, 0)->as(); } @@ -14567,47 +14934,40 @@ Ifc4x3_rc4::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntity Ifc4x3_rc4::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoordinateReferenceSystem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GeodeticDatum) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GeodeticDatum));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_VerticalDatum) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_VerticalDatum));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcCosine -double Ifc4x3_rc4::IfcCosine::CosineTerm() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcCosine::CosineTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcCosine::setCosineTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcCosine::ConstantTerm() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcCosine::setConstantTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcCosine::ConstantTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcCosine::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCosine::declaration() const { return *IFC4X3_RC4_IfcCosine_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCosine::Class() { return *IFC4X3_RC4_IfcCosine_type; } Ifc4x3_rc4::IfcCosine::IfcCosine(IfcEntityInstanceData* e) : IfcSpiral((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCosine_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCosine::IfcCosine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_CosineTerm, double v3_ConstantTerm) : IfcSpiral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCosine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CosineTerm));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ConstantTerm));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcCosine::IfcCosine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCosine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CosineTerm));data_->setArgument(1,attr);} if (v3_ConstantTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ConstantTerm));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcCostItem -bool Ifc4x3_rc4::IfcCostItem::hasPredefinedType() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcCostItemTypeEnum::Value Ifc4x3_rc4::IfcCostItem::PredefinedType() const { return ::Ifc4x3_rc4::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcCostItem::setPredefinedType(::Ifc4x3_rc4::IfcCostItemTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCostItemTypeEnum::ToString(v)));data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcCostItem::hasCostValues() const { return !data_->getArgument(7)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCostValue >::ptr Ifc4x3_rc4::IfcCostItem::CostValues() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcCostValue >(); } -void Ifc4x3_rc4::IfcCostItem::setCostValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCostValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcCostItem::hasCostQuantities() const { return !data_->getArgument(8)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcCostItem::CostQuantities() const { IfcEntityList::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } -void Ifc4x3_rc4::IfcCostItem::setCostQuantities(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > Ifc4x3_rc4::IfcCostItem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } +void Ifc4x3_rc4::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCostItemTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > Ifc4x3_rc4::IfcCostItem::CostValues() 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::IfcCostValue >(); } +void Ifc4x3_rc4::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > Ifc4x3_rc4::IfcCostItem::CostQuantities() 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::IfcPhysicalQuantity >(); } +void Ifc4x3_rc4::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCostItem::declaration() const { return *IFC4X3_RC4_IfcCostItem_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCostItem::Class() { return *IFC4X3_RC4_IfcCostItem_type; } Ifc4x3_rc4::IfcCostItem::IfcCostItem(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCostItem_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCostItem::IfcCostItem(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::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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); } 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::IfcCostItemTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_CostValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_CostValues)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CostQuantities) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_CostQuantities)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } +Ifc4x3_rc4::IfcCostItem::IfcCostItem(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::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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); } 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::IfcCostItemTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_CostValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_CostValues)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CostQuantities) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_CostQuantities)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCostSchedule -bool Ifc4x3_rc4::IfcCostSchedule::hasPredefinedType() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value Ifc4x3_rc4::IfcCostSchedule::PredefinedType() const { return ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcCostSchedule::setPredefinedType(::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCostScheduleTypeEnum::ToString(v)));data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcCostSchedule::hasStatus() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcCostSchedule::Status() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcCostSchedule::setStatus(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcCostSchedule::hasSubmittedOn() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcCostSchedule::SubmittedOn() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcCostSchedule::setSubmittedOn(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcCostSchedule::hasUpdateDate() const { return !data_->getArgument(9)->isNull(); } -std::string Ifc4x3_rc4::IfcCostSchedule::UpdateDate() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcCostSchedule::setUpdateDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc4::IfcCostSchedule::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } +void Ifc4x3_rc4::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCostScheduleTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCostSchedule::declaration() const { return *IFC4X3_RC4_IfcCostSchedule_type; } @@ -14621,12 +14981,11 @@ Ifc4x3_rc4::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcCostValue::declaration() const { return *IFC4X3_RC4_IfcCostValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCostValue::Class() { return *IFC4X3_RC4_IfcCostValue_type; } Ifc4x3_rc4::IfcCostValue::IfcCostValue(IfcEntityInstanceData* e) : IfcAppliedValue((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCostValue_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCostValue_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);} if (v5_ApplicableDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FixedUntilDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FixedUntilDate));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Category));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Condition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Condition));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ArithmeticOperator) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_ArithmeticOperator,::Ifc4x3_rc4::IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Components) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Components)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } +Ifc4x3_rc4::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCostValue_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);} if (v5_ApplicableDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FixedUntilDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FixedUntilDate));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Category));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Condition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Condition));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ArithmeticOperator) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_ArithmeticOperator,::Ifc4x3_rc4::IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Components) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Components)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcCourse -bool Ifc4x3_rc4::IfcCourse::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCourseTypeEnum::Value Ifc4x3_rc4::IfcCourse::PredefinedType() const { return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCourse::setPredefinedType(::Ifc4x3_rc4::IfcCourseTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCourseTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > Ifc4x3_rc4::IfcCourse::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCourseTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCourse::declaration() const { return *IFC4X3_RC4_IfcCourse_type; } @@ -14635,19 +14994,18 @@ Ifc4x3_rc4::IfcCourse::IfcCourse(IfcEntityInstanceData* e) : IfcBuiltElement((If Ifc4x3_rc4::IfcCourse::IfcCourse(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::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCourse_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCourseTypeEnum::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 IfcCourseType -::Ifc4x3_rc4::IfcCourseTypeEnum::Value Ifc4x3_rc4::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCourseTypeEnum::Value Ifc4x3_rc4::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCourseType::setPredefinedType(::Ifc4x3_rc4::IfcCourseTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCourseTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCourseType::declaration() const { return *IFC4X3_RC4_IfcCourseType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCourseType::Class() { return *IFC4X3_RC4_IfcCourseType_type; } Ifc4x3_rc4::IfcCourseType::IfcCourseType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCourseType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCourseType::IfcCourseType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCourseType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCourseTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCourseType::IfcCourseType(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::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCourseType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCourseTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCovering -bool Ifc4x3_rc4::IfcCovering::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCoveringTypeEnum::Value Ifc4x3_rc4::IfcCovering::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCovering::setPredefinedType(::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCoveringTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > Ifc4x3_rc4::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCoveringTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelCoversSpaces::list::ptr Ifc4x3_rc4::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC4X3_RC4_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc4x3_rc4::IfcRelCoversBldgElements::list::ptr Ifc4x3_rc4::IfcCovering::CoversElements() const { return data_->getInverse(IFC4X3_RC4_IfcRelCoversBldgElements_type, 5)->as(); } @@ -14658,38 +15016,37 @@ Ifc4x3_rc4::IfcCovering::IfcCovering(IfcEntityInstanceData* e) : IfcBuiltElement Ifc4x3_rc4::IfcCovering::IfcCovering(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::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCovering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCoveringTypeEnum::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 IfcCoveringType -::Ifc4x3_rc4::IfcCoveringTypeEnum::Value Ifc4x3_rc4::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCoveringTypeEnum::Value Ifc4x3_rc4::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCoveringType::setPredefinedType(::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCoveringTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCoveringType::declaration() const { return *IFC4X3_RC4_IfcCoveringType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCoveringType::Class() { return *IFC4X3_RC4_IfcCoveringType_type; } Ifc4x3_rc4::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCoveringType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCoveringType::IfcCoveringType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoveringType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCoveringTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCoveringType::IfcCoveringType(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::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoveringType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCoveringTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCrewResource -bool Ifc4x3_rc4::IfcCrewResource::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value Ifc4x3_rc4::IfcCrewResource::PredefinedType() const { return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcCrewResource::setPredefinedType(::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCrewResourceTypeEnum::ToString(v)));data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc4::IfcCrewResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCrewResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCrewResource::declaration() const { return *IFC4X3_RC4_IfcCrewResource_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCrewResource::Class() { return *IFC4X3_RC4_IfcCrewResource_type; } Ifc4x3_rc4::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCrewResource_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCrewResource::IfcCrewResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcCrewResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcCrewResource::IfcCrewResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcCrewResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcCrewResourceType -::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value Ifc4x3_rc4::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(11)); } +::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value Ifc4x3_rc4::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcCrewResourceType::setPredefinedType(::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCrewResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCrewResourceType::declaration() const { return *IFC4X3_RC4_IfcCrewResourceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCrewResourceType::Class() { return *IFC4X3_RC4_IfcCrewResourceType_type; } Ifc4x3_rc4::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCrewResourceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = 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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcCsgPrimitive3D::Position() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcCsgPrimitive3D::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14699,7 +15056,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 (::Ifc4x3_rc4::IfcCsgSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCsgSelect* Ifc4x3_rc4::IfcCsgSolid::TreeRootExpression() const { return (::Ifc4x3_rc4::IfcCsgSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_rc4::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14709,17 +15066,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 (::Ifc4x3_rc4::IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return (::Ifc4x3_rc4::IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 (::Ifc4x3_rc4::IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return (::Ifc4x3_rc4::IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } 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 { return *data_->getArgument(4); } +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);} } -bool Ifc4x3_rc4::IfcCurrencyRelationship::hasRateDateTime() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcCurrencyRelationship::RateDateTime() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcCurrencyRelationship::setRateDateTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcCurrencyRelationship::hasRateSource() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcCurrencyRelationship::RateSource() const { return (::Ifc4x3_rc4::IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +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 (::Ifc4x3_rc4::IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14729,9 +15084,8 @@ Ifc4x3_rc4::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceDa Ifc4x3_rc4::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_rc4::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc4::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurrencyRelationship_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_RelatingMonetaryUnit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedMonetaryUnit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ExchangeRate));data_->setArgument(4,attr);} if (v6_RateDateTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RateDateTime));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_RateSource));data_->setArgument(6,attr);} } // Function implementations for IfcCurtainWall -bool Ifc4x3_rc4::IfcCurtainWall::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value Ifc4x3_rc4::IfcCurtainWall::PredefinedType() const { return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCurtainWall::setPredefinedType(::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCurtainWallTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc4::IfcCurtainWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCurtainWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurtainWall::declaration() const { return *IFC4X3_RC4_IfcCurtainWall_type; } @@ -14740,14 +15094,14 @@ Ifc4x3_rc4::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData* e) : IfcBuiltE Ifc4x3_rc4::IfcCurtainWall::IfcCurtainWall(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::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurtainWall_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCurtainWallTypeEnum::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 IfcCurtainWallType -::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value Ifc4x3_rc4::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value Ifc4x3_rc4::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcCurtainWallType::setPredefinedType(::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcCurtainWallTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurtainWallType::declaration() const { return *IFC4X3_RC4_IfcCurtainWallType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCurtainWallType::Class() { return *IFC4X3_RC4_IfcCurtainWallType_type; } Ifc4x3_rc4::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCurtainWallType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCurtainWallType::IfcCurtainWallType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurtainWallType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCurtainWallTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcCurtainWallType::IfcCurtainWallType(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::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurtainWallType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcCurtainWallTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCurve @@ -14758,41 +15112,41 @@ 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 (::Ifc4x3_rc4::IfcPlane*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcPlane* Ifc4x3_rc4::IfcCurveBoundedPlane::BasisSurface() const { return (::Ifc4x3_rc4::IfcPlane*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveBoundedPlane::OuterBoundary() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr Ifc4x3_rc4::IfcCurveBoundedPlane::InnerBoundaries() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } -void Ifc4x3_rc4::IfcCurveBoundedPlane::setInnerBoundaries(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurveBoundedPlane::declaration() const { return *IFC4X3_RC4_IfcCurveBoundedPlane_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCurveBoundedPlane::Class() { return *IFC4X3_RC4_IfcCurveBoundedPlane_type; } Ifc4x3_rc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) : IfcBoundedSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCurveBoundedPlane_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc4::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_OuterBoundary, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcCurveBoundedSurface::BasisSurface() const { return (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_rc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr Ifc4x3_rc4::IfcCurveBoundedSurface::Boundaries() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcBoundaryCurve >(); } -void Ifc4x3_rc4::IfcCurveBoundedSurface::setBoundaries(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcCurveBoundedSurface::ImplicitOuter() const { return *data_->getArgument(2); } +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);} } +bool Ifc4x3_rc4::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcCurveBoundedSurface::setImplicitOuter(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurveBoundedSurface::declaration() const { return *IFC4X3_RC4_IfcCurveBoundedSurface_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCurveBoundedSurface::Class() { return *IFC4X3_RC4_IfcCurveBoundedSurface_type; } Ifc4x3_rc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData* e) : IfcBoundedSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCurveBoundedSurface_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcCurveSegment::Placement() const { return (::Ifc4x3_rc4::IfcPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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 (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentStart() const { return (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentLength() const { return (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } 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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveSegment::ParentCurve() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcCurveSegment::setParentCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14802,18 +15156,14 @@ 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 -bool Ifc4x3_rc4::IfcCurveStyle::hasCurveFont() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc4::IfcCurveStyle::CurveFont() const { return (::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc4::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcCurveStyle::setCurveFont(::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcCurveStyle::hasCurveWidth() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcCurveStyle::CurveWidth() const { return (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcCurveStyle::hasCurveColour() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcCurveStyle::CurveColour() const { return (::Ifc4x3_rc4::IfcColour*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcColour*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcCurveStyle::setCurveColour(::Ifc4x3_rc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcCurveStyle::hasModelOrDraughting() const { return !data_->getArgument(4)->isNull(); } -bool Ifc4x3_rc4::IfcCurveStyle::ModelOrDraughting() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcCurveStyle::setModelOrDraughting(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyle::declaration() const { return *IFC4X3_RC4_IfcCurveStyle_type; } @@ -14822,25 +15172,23 @@ Ifc4x3_rc4::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData* e) : IfcPresenta Ifc4x3_rc4::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_rc4::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_rc4::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveStyle_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_CurveFont));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CurveWidth));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CurveColour));data_->setArgument(3,attr);} if (v5_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ModelOrDraughting));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCurveStyleFont -bool Ifc4x3_rc4::IfcCurveStyleFont::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcCurveStyleFont::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcCurveStyleFont::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc4::IfcCurveStyleFont::PatternList() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >(); } -void Ifc4x3_rc4::IfcCurveStyleFont::setPatternList(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc4::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >(); } +void Ifc4x3_rc4::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyleFont::declaration() const { return *IFC4X3_RC4_IfcCurveStyleFont_type; } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyleFont::Class() { return *IFC4X3_RC4_IfcCurveStyleFont_type; } Ifc4x3_rc4::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcCurveStyleFont_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveStyleFont_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_PatternList)->generalize());data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveStyleFont_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_PatternList)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcCurveStyleFontAndScaling -bool Ifc4x3_rc4::IfcCurveStyleFontAndScaling::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcCurveStyleFontAndScaling::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setName(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 (::Ifc4x3_rc4::IfcCurveStyleFontSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +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 (::Ifc4x3_rc4::IfcCurveStyleFontSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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 { return *data_->getArgument(2); } +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);} } @@ -14850,9 +15198,9 @@ Ifc4x3_rc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityIn Ifc4x3_rc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveStyleFontAndScaling_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_CurveFont));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CurveFontScaling));data_->setArgument(2,attr);} } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x3_rc4::IfcCurveStyleFontPattern::VisibleSegmentLength() const { return *data_->getArgument(0); } +double Ifc4x3_rc4::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -double Ifc4x3_rc4::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14862,7 +15210,7 @@ Ifc4x3_rc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstance Ifc4x3_rc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveStyleFontPattern_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_VisibleSegmentLength));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InvisibleSegmentLength));data_->setArgument(1,attr);} } // Function implementations for IfcCylindricalSurface -double Ifc4x3_rc4::IfcCylindricalSurface::Radius() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcCylindricalSurface::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcCylindricalSurface::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14872,9 +15220,8 @@ Ifc4x3_rc4::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData* Ifc4x3_rc4::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCylindricalSurface_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 IfcDamper -bool Ifc4x3_rc4::IfcDamper::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcDamperTypeEnum::Value Ifc4x3_rc4::IfcDamper::PredefinedType() const { return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDamper::setPredefinedType(::Ifc4x3_rc4::IfcDamperTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDamperTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > Ifc4x3_rc4::IfcDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDamper::declaration() const { return *IFC4X3_RC4_IfcDamper_type; } @@ -14883,14 +15230,14 @@ Ifc4x3_rc4::IfcDamper::IfcDamper(IfcEntityInstanceData* e) : IfcFlowController(( Ifc4x3_rc4::IfcDamper::IfcDamper(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::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDamper_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDamperTypeEnum::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 IfcDamperType -::Ifc4x3_rc4::IfcDamperTypeEnum::Value Ifc4x3_rc4::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcDamperTypeEnum::Value Ifc4x3_rc4::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcDamperType::setPredefinedType(::Ifc4x3_rc4::IfcDamperTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDamperTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDamperType::declaration() const { return *IFC4X3_RC4_IfcDamperType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDamperType::Class() { return *IFC4X3_RC4_IfcDamperType_type; } Ifc4x3_rc4::IfcDamperType::IfcDamperType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDamperType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDamperType::IfcDamperType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcDamperTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcDamperType::IfcDamperType(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::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcDamperTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDeepFoundation @@ -14906,16 +15253,15 @@ Ifc4x3_rc4::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcDeepFoundationType::declaration() const { return *IFC4X3_RC4_IfcDeepFoundationType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDeepFoundationType::Class() { return *IFC4X3_RC4_IfcDeepFoundationType_type; } Ifc4x3_rc4::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDeepFoundationType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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); } } +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 (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcDerivedProfileDef::ParentProfile() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 (::Ifc4x3_rc4::IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcDerivedProfileDef::Operator() const { return (::Ifc4x3_rc4::IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcDerivedProfileDef::hasLabel() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcDerivedProfileDef::Label() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcDerivedProfileDef::setLabel(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedProfileDef::declaration() const { return *IFC4X3_RC4_IfcDerivedProfileDef_type; } @@ -14924,24 +15270,23 @@ Ifc4x3_rc4::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDerivedProfileDef_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_ParentProfile));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Operator));data_->setArgument(3,attr);} if (v5_Label) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Label));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcDerivedUnit -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr Ifc4x3_rc4::IfcDerivedUnit::Elements() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcDerivedUnitElement >(); } -void Ifc4x3_rc4::IfcDerivedUnit::setElements(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcDerivedUnitEnum::Value Ifc4x3_rc4::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } +aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr Ifc4x3_rc4::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcDerivedUnitElement >(); } +void Ifc4x3_rc4::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } +::Ifc4x3_rc4::IfcDerivedUnitEnum::Value Ifc4x3_rc4::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc4::IfcDerivedUnit::setUnitType(::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcDerivedUnit::hasUserDefinedType() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcDerivedUnit::UserDefinedType() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcDerivedUnit::setUserDefinedType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedUnit::declaration() const { return *IFC4X3_RC4_IfcDerivedUnit_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedUnit::Class() { return *IFC4X3_RC4_IfcDerivedUnit_type; } Ifc4x3_rc4::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDerivedUnit_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDerivedUnit::IfcDerivedUnit(IfcTemplatedEntityList< ::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); } } +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 (::Ifc4x3_rc4::IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcDerivedUnitElement::Unit() const { return (::Ifc4x3_rc4::IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } @@ -14951,19 +15296,19 @@ Ifc4x3_rc4::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData* Ifc4x3_rc4::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_rc4::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDerivedUnitElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Unit));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Exponent));data_->setArgument(1,attr);} } // Function implementations for IfcDimensionalExponents -int Ifc4x3_rc4::IfcDimensionalExponents::LengthExponent() const { return *data_->getArgument(0); } +int Ifc4x3_rc4::IfcDimensionalExponents::LengthExponent() const { int v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setLengthExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -int Ifc4x3_rc4::IfcDimensionalExponents::MassExponent() const { return *data_->getArgument(1); } +int Ifc4x3_rc4::IfcDimensionalExponents::MassExponent() const { int v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setMassExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -int Ifc4x3_rc4::IfcDimensionalExponents::TimeExponent() const { return *data_->getArgument(2); } +int Ifc4x3_rc4::IfcDimensionalExponents::TimeExponent() const { int v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setTimeExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -int Ifc4x3_rc4::IfcDimensionalExponents::ElectricCurrentExponent() const { return *data_->getArgument(3); } +int Ifc4x3_rc4::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setElectricCurrentExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -int Ifc4x3_rc4::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { return *data_->getArgument(4); } +int Ifc4x3_rc4::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -int Ifc4x3_rc4::IfcDimensionalExponents::AmountOfSubstanceExponent() const { return *data_->getArgument(5); } +int Ifc4x3_rc4::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -int Ifc4x3_rc4::IfcDimensionalExponents::LuminousIntensityExponent() const { return *data_->getArgument(6); } +int Ifc4x3_rc4::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14973,7 +15318,7 @@ Ifc4x3_rc4::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceDa Ifc4x3_rc4::IfcDimensionalExponents::IfcDimensionalExponents(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDimensionalExponents_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LengthExponent));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MassExponent));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TimeExponent));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ElectricCurrentExponent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ThermodynamicTemperatureExponent));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_AmountOfSubstanceExponent));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LuminousIntensityExponent));data_->setArgument(6,attr);} } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcDirection::DirectionRatios() const { return *data_->getArgument(0); } +std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14983,13 +15328,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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::hasStartParam() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::StartParam() const { return (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::hasEndParam() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::EndParam() const { return (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15006,26 +15349,9 @@ const IfcParse::entity& Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid:: Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(IfcEntityInstanceData* e) : IfcFixedReferenceSweptAreaSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDirectrixDerivedReferenceSweptAreaSolid_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc4::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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_rc4::IfcCurve* Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } -void Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::hasStartDistance() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcPointByDistanceExpression* Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { return (::Ifc4x3_rc4::IfcPointByDistanceExpression*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } -void Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(::Ifc4x3_rc4::IfcPointByDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::hasEndDistance() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcPointByDistanceExpression* Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { return (::Ifc4x3_rc4::IfcPointByDistanceExpression*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } -void Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(::Ifc4x3_rc4::IfcPointByDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } - - -const IfcParse::entity& Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::declaration() const { return *IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type; } -const IfcParse::entity& Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::Class() { return *IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type; } -Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData* e) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc4::IfcPointByDistanceExpression* v5_EndDistance) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDirectrixDistanceSweptAreaSolid_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);} } - // Function implementations for IfcDiscreteAccessory -bool Ifc4x3_rc4::IfcDiscreteAccessory::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc4::IfcDiscreteAccessory::PredefinedType() const { return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDiscreteAccessory::setPredefinedType(::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc4::IfcDiscreteAccessory::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDiscreteAccessory::declaration() const { return *IFC4X3_RC4_IfcDiscreteAccessory_type; } @@ -15034,19 +15360,18 @@ Ifc4x3_rc4::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcDiscreteAccessory::IfcDiscreteAccessory(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::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDiscreteAccessory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDiscreteAccessoryTypeEnum::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 IfcDiscreteAccessoryType -::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc4::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc4::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDiscreteAccessoryType::declaration() const { return *IFC4X3_RC4_IfcDiscreteAccessoryType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDiscreteAccessoryType::Class() { return *IFC4X3_RC4_IfcDiscreteAccessoryType_type; } Ifc4x3_rc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDiscreteAccessoryType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDiscreteAccessoryType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDiscreteAccessoryTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(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::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDiscreteAccessoryType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDiscreteAccessoryTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDistributionBoard -bool Ifc4x3_rc4::IfcDistributionBoard::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcDistributionBoard::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDistributionBoard::setPredefinedType(::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionBoard::declaration() const { return *IFC4X3_RC4_IfcDistributionBoard_type; } @@ -15055,19 +15380,18 @@ Ifc4x3_rc4::IfcDistributionBoard::IfcDistributionBoard(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcDistributionBoard::IfcDistributionBoard(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::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionBoard_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDistributionBoardTypeEnum::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 IfcDistributionBoardType -::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcDistributionBoardType::setPredefinedType(::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionBoardType::declaration() const { return *IFC4X3_RC4_IfcDistributionBoardType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionBoardType::Class() { return *IFC4X3_RC4_IfcDistributionBoardType_type; } Ifc4x3_rc4::IfcDistributionBoardType::IfcDistributionBoardType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDistributionBoardType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDistributionBoardType::IfcDistributionBoardType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionBoardType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDistributionBoardTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcDistributionBoardType::IfcDistributionBoardType(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::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionBoardType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDistributionBoardTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDistributionChamberElement -bool Ifc4x3_rc4::IfcDistributionChamberElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc4::IfcDistributionChamberElement::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDistributionChamberElement::setPredefinedType(::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc4::IfcDistributionChamberElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionChamberElement::declaration() const { return *IFC4X3_RC4_IfcDistributionChamberElement_type; } @@ -15076,14 +15400,14 @@ Ifc4x3_rc4::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEnti Ifc4x3_rc4::IfcDistributionChamberElement::IfcDistributionChamberElement(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::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionChamberElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDistributionChamberElementTypeEnum::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 IfcDistributionChamberElementType -::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc4::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc4::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionChamberElementType::declaration() const { return *IFC4X3_RC4_IfcDistributionChamberElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionChamberElementType::Class() { return *IFC4X3_RC4_IfcDistributionChamberElementType_type; } Ifc4x3_rc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDistributionChamberElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionChamberElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType(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::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionChamberElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDistributionCircuit @@ -15108,7 +15432,7 @@ Ifc4x3_rc4::IfcDistributionControlElement::IfcDistributionControlElement(std::st const IfcParse::entity& Ifc4x3_rc4::IfcDistributionControlElementType::declaration() const { return *IFC4X3_RC4_IfcDistributionControlElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionControlElementType::Class() { return *IFC4X3_RC4_IfcDistributionControlElementType_type; } Ifc4x3_rc4::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData* e) : IfcDistributionElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDistributionControlElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDistributionControlElementType::IfcDistributionControlElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionControlElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcDistributionControlElementType::IfcDistributionControlElementType(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) : IfcDistributionElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionControlElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcDistributionElement @@ -15125,7 +15449,7 @@ Ifc4x3_rc4::IfcDistributionElement::IfcDistributionElement(std::string v1_Global const IfcParse::entity& Ifc4x3_rc4::IfcDistributionElementType::declaration() const { return *IFC4X3_RC4_IfcDistributionElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionElementType::Class() { return *IFC4X3_RC4_IfcDistributionElementType_type; } Ifc4x3_rc4::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDistributionElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDistributionElementType::IfcDistributionElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcDistributionElementType::IfcDistributionElementType(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) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcDistributionFlowElement @@ -15142,18 +15466,15 @@ Ifc4x3_rc4::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcDistributionFlowElementType::declaration() const { return *IFC4X3_RC4_IfcDistributionFlowElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionFlowElementType::Class() { return *IFC4X3_RC4_IfcDistributionFlowElementType_type; } Ifc4x3_rc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData* e) : IfcDistributionElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDistributionFlowElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionFlowElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(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) : IfcDistributionElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionFlowElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcDistributionPort -bool Ifc4x3_rc4::IfcDistributionPort::hasFlowDirection() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcFlowDirectionEnum::Value Ifc4x3_rc4::IfcDistributionPort::FlowDirection() const { return ::Ifc4x3_rc4::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcDistributionPort::setFlowDirection(::Ifc4x3_rc4::IfcFlowDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFlowDirectionEnum::ToString(v)));data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcDistributionPort::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value Ifc4x3_rc4::IfcDistributionPort::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDistributionPort::setPredefinedType(::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDistributionPortTypeEnum::ToString(v)));data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcDistributionPort::hasSystemType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcDistributionSystemEnum::Value Ifc4x3_rc4::IfcDistributionPort::SystemType() const { return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcDistributionPort::setSystemType(::Ifc4x3_rc4::IfcDistributionSystemEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > Ifc4x3_rc4::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } +void Ifc4x3_rc4::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFlowDirectionEnum::ToString(*v)));data_->setArgument(7,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc4::IfcDistributionPort::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionPortTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > Ifc4x3_rc4::IfcDistributionPort::SystemType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionPort::declaration() const { return *IFC4X3_RC4_IfcDistributionPort_type; } @@ -15162,12 +15483,10 @@ Ifc4x3_rc4::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcDistributionPort::IfcDistributionPort(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::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionPort_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_FlowDirection) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_FlowDirection,::Ifc4x3_rc4::IfcFlowDirectionEnum::ToString(*v8_FlowDirection))));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::IfcDistributionPortTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_SystemType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_SystemType,::Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(*v10_SystemType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcDistributionSystem -bool Ifc4x3_rc4::IfcDistributionSystem::hasLongName() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcDistributionSystem::LongName() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcDistributionSystem::setLongName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcDistributionSystem::hasPredefinedType() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcDistributionSystemEnum::Value Ifc4x3_rc4::IfcDistributionSystem::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcDistributionSystem::setPredefinedType(::Ifc4x3_rc4::IfcDistributionSystemEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(v)));data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDistributionSystem::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > Ifc4x3_rc4::IfcDistributionSystem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } +void Ifc4x3_rc4::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionSystem::declaration() const { return *IFC4X3_RC4_IfcDistributionSystem_type; } @@ -15176,55 +15495,40 @@ Ifc4x3_rc4::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData* Ifc4x3_rc4::IfcDistributionSystem::IfcDistributionSystem(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_LongName, boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDistributionSystem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));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::IfcDistributionSystemEnum::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 IfcDocumentInformation -std::string Ifc4x3_rc4::IfcDocumentInformation::Identification() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcDocumentInformation::Identification() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -std::string Ifc4x3_rc4::IfcDocumentInformation::Name() const { return *data_->getArgument(1); } +std::string Ifc4x3_rc4::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasDescription() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::Description() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcDocumentInformation::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasLocation() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::Location() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcDocumentInformation::setLocation(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasPurpose() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::Purpose() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcDocumentInformation::setPurpose(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasIntendedUse() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::IntendedUse() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcDocumentInformation::setIntendedUse(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasScope() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::Scope() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcDocumentInformation::setScope(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasRevision() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::Revision() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcDocumentInformation::setRevision(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasDocumentOwner() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Location() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +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 (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasEditors() const { return !data_->getArgument(9)->isNull(); } -IfcEntityList::ptr Ifc4x3_rc4::IfcDocumentInformation::Editors() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcDocumentInformation::setEditors(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasCreationTime() const { return !data_->getArgument(10)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::CreationTime() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcDocumentInformation::setCreationTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasLastRevisionTime() const { return !data_->getArgument(11)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::LastRevisionTime() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcDocumentInformation::setLastRevisionTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasElectronicFormat() const { return !data_->getArgument(12)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::ElectronicFormat() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcDocumentInformation::setElectronicFormat(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasValidFrom() const { return !data_->getArgument(13)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::ValidFrom() const { return *data_->getArgument(13); } -void Ifc4x3_rc4::IfcDocumentInformation::setValidFrom(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasValidUntil() const { return !data_->getArgument(14)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformation::ValidUntil() const { return *data_->getArgument(14); } -void Ifc4x3_rc4::IfcDocumentInformation::setValidUntil(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasConfidentiality() const { return !data_->getArgument(15)->isNull(); } -::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value Ifc4x3_rc4::IfcDocumentInformation::Confidentiality() const { return ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } -void Ifc4x3_rc4::IfcDocumentInformation::setConfidentiality(::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::ToString(v)));data_->setArgument(15,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformation::hasStatus() const { return !data_->getArgument(16)->isNull(); } -::Ifc4x3_rc4::IfcDocumentStatusEnum::Value Ifc4x3_rc4::IfcDocumentInformation::Status() const { return ::Ifc4x3_rc4::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } -void Ifc4x3_rc4::IfcDocumentInformation::setStatus(::Ifc4x3_rc4::IfcDocumentStatusEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDocumentStatusEnum::ToString(v)));data_->setArgument(16,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } +void Ifc4x3_rc4::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc4::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } +void Ifc4x3_rc4::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > Ifc4x3_rc4::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } +void Ifc4x3_rc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDocumentStatusEnum::ToString(*v)));data_->setArgument(16,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc4::IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesDocument_type, 5)->as(); } ::Ifc4x3_rc4::IfcDocumentReference::list::ptr Ifc4x3_rc4::IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IFC4X3_RC4_IfcDocumentReference_type, 4)->as(); } @@ -15234,29 +15538,26 @@ void Ifc4x3_rc4::IfcDocumentInformation::setStatus(::Ifc4x3_rc4::IfcDocumentStat const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::declaration() const { return *IFC4X3_RC4_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::Class() { return *IFC4X3_RC4_IfcDocumentInformation_type; } Ifc4x3_rc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDocumentInformation_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcEntityList::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); } } +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 (::Ifc4x3_rc4::IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatingDocument() const { return (::Ifc4x3_rc4::IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_rc4::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatedDocuments() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcDocumentInformation >(); } -void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatedDocuments(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcDocumentInformationRelationship::hasRelationshipType() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentInformationRelationship::RelationshipType() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelationshipType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformationRelationship::declaration() const { return *IFC4X3_RC4_IfcDocumentInformationRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformationRelationship::Class() { return *IFC4X3_RC4_IfcDocumentInformationRelationship_type; } Ifc4x3_rc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDocumentInformationRelationship_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcDocumentInformation* v3_RelatingDocument, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentInformationRelationship_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_RelatingDocument));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedDocuments)->generalize());data_->setArgument(3,attr);} if (v5_RelationshipType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_RelationshipType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } +Ifc4x3_rc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentInformationRelationship_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_RelatingDocument));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedDocuments)->generalize());data_->setArgument(3,attr);} if (v5_RelationshipType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_RelationshipType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcDocumentReference -bool Ifc4x3_rc4::IfcDocumentReference::hasDescription() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcDocumentReference::Description() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcDocumentReference::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcDocumentReference::hasReferencedDocument() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentReference::ReferencedDocument() const { return (::Ifc4x3_rc4::IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +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 (::Ifc4x3_rc4::IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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(); } @@ -15267,21 +15568,16 @@ Ifc4x3_rc4::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcDocumentReference::IfcDocumentReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentReference_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); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencedDocument));data_->setArgument(4,attr);} } // Function implementations for IfcDoor -bool Ifc4x3_rc4::IfcDoor::hasOverallHeight() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcDoor::OverallHeight() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcDoor::setOverallHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcDoor::hasOverallWidth() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcDoor::OverallWidth() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcDoor::setOverallWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcDoor::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcDoorTypeEnum::Value Ifc4x3_rc4::IfcDoor::PredefinedType() const { return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcDoor::setPredefinedType(::Ifc4x3_rc4::IfcDoorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorTypeEnum::ToString(v)));data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcDoor::hasOperationType() const { return !data_->getArgument(11)->isNull(); } -::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value Ifc4x3_rc4::IfcDoor::OperationType() const { return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc4::IfcDoor::setOperationType(::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcDoor::hasUserDefinedOperationType() const { return !data_->getArgument(12)->isNull(); } -std::string Ifc4x3_rc4::IfcDoor::UserDefinedOperationType() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcDoor::setUserDefinedOperationType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > Ifc4x3_rc4::IfcDoor::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDoorTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc4::IfcDoor::OperationType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } +void Ifc4x3_rc4::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(*v)));data_->setArgument(11,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDoor::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoor::declaration() const { return *IFC4X3_RC4_IfcDoor_type; } @@ -15290,45 +15586,32 @@ Ifc4x3_rc4::IfcDoor::IfcDoor(IfcEntityInstanceData* e) : IfcBuiltElement((IfcEnt Ifc4x3_rc4::IfcDoor::IfcDoor(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< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_OverallHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_OverallHeight));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_OverallWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_OverallWidth));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcDoorTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_OperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_OperationType,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(*v12_OperationType))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedOperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedOperationType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcDoorLiningProperties -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasLiningDepth() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::LiningDepth() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasLiningThickness() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::LiningThickness() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasThresholdDepth() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdDepth() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasThresholdThickness() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdThickness() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasTransomThickness() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::TransomThickness() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasTransomOffset() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::TransomOffset() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasLiningOffset() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::LiningOffset() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasThresholdOffset() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdOffset() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasCasingThickness() const { return !data_->getArgument(12)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::CasingThickness() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasCasingDepth() const { return !data_->getArgument(13)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::CasingDepth() const { return *data_->getArgument(13); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasShapeAspectStyle() const { return !data_->getArgument(14)->isNull(); } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorLiningProperties::ShapeAspectStyle() const { return (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(14))); } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } +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 (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(14))); } void Ifc4x3_rc4::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasLiningToPanelOffsetX() const { return !data_->getArgument(15)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { return *data_->getArgument(15); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,attr);} } -bool Ifc4x3_rc4::IfcDoorLiningProperties::hasLiningToPanelOffsetY() const { return !data_->getArgument(16)->isNull(); } -double Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetY() const { return *data_->getArgument(16); } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(16,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);} } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } +void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoorLiningProperties::declaration() const { return *IFC4X3_RC4_IfcDoorLiningProperties_type; } @@ -15337,18 +15620,15 @@ Ifc4x3_rc4::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceDa Ifc4x3_rc4::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, ::Ifc4x3_rc4::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorLiningProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LiningDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LiningDepth));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LiningThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LiningThickness));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ThresholdDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ThresholdDepth));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ThresholdThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ThresholdThickness));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_TransomThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_TransomThickness));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_TransomOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_TransomOffset));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LiningOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LiningOffset));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ThresholdOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ThresholdOffset));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_CasingThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_CasingThickness));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_CasingDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_CasingDepth));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v15_ShapeAspectStyle));data_->setArgument(14,attr);} if (v16_LiningToPanelOffsetX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_LiningToPanelOffsetX));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LiningToPanelOffsetY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LiningToPanelOffsetY));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDoorPanelProperties -bool Ifc4x3_rc4::IfcDoorPanelProperties::hasPanelDepth() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcDoorPanelProperties::PanelDepth() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } +boost::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcDoorPanelProperties::hasPanelWidth() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcDoorPanelProperties::PanelWidth() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelWidth(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)); } +boost::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +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);} } -bool Ifc4x3_rc4::IfcDoorPanelProperties::hasShapeAspectStyle() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorPanelProperties::ShapeAspectStyle() const { return (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -15366,38 +15646,36 @@ Ifc4x3_rc4::IfcDoorStandardCase::IfcDoorStandardCase(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcDoorStandardCase::IfcDoorStandardCase(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< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_OverallHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_OverallHeight));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_OverallWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_OverallWidth));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcDoorTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_OperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_OperationType,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(*v12_OperationType))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedOperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedOperationType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcDoorStyle -::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value Ifc4x3_rc4::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::FromString(*data_->getArgument(8)); } +::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value Ifc4x3_rc4::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcDoorStyle::setOperationType(::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorStyleOperationEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc4::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc4::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcDoorStyle::setConstructionType(::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcDoorStyle::ParameterTakesPrecedence() const { return *data_->getArgument(10); } +bool Ifc4x3_rc4::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = *data_->getArgument(10); return v; } void Ifc4x3_rc4::IfcDoorStyle::setParameterTakesPrecedence(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcDoorStyle::Sizeable() const { return *data_->getArgument(11); } +bool Ifc4x3_rc4::IfcDoorStyle::Sizeable() const { bool v = *data_->getArgument(11); return v; } void Ifc4x3_rc4::IfcDoorStyle::setSizeable(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoorStyle::declaration() const { return *IFC4X3_RC4_IfcDoorStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDoorStyle::Class() { return *IFC4X3_RC4_IfcDoorStyle_type; } Ifc4x3_rc4::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData* e) : IfcTypeProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDoorStyle_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDoorStyle::IfcDoorStyle(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_OperationType,::Ifc4x3_rc4::IfcDoorStyleOperationEnum::ToString(v9_OperationType))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_ConstructionType,::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ParameterTakesPrecedence));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_Sizeable));data_->setArgument(11,attr);} } +Ifc4x3_rc4::IfcDoorStyle::IfcDoorStyle(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, ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_OperationType,::Ifc4x3_rc4::IfcDoorStyleOperationEnum::ToString(v9_OperationType))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_ConstructionType,::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ParameterTakesPrecedence));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_Sizeable));data_->setArgument(11,attr);} } // Function implementations for IfcDoorType -::Ifc4x3_rc4::IfcDoorTypeEnum::Value Ifc4x3_rc4::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcDoorTypeEnum::Value Ifc4x3_rc4::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcDoorType::setPredefinedType(::Ifc4x3_rc4::IfcDoorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value Ifc4x3_rc4::IfcDoorType::OperationType() const { return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } +::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value Ifc4x3_rc4::IfcDoorType::OperationType() const { return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc4::IfcDoorType::setOperationType(::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcDoorType::hasParameterTakesPrecedence() const { return !data_->getArgument(11)->isNull(); } -bool Ifc4x3_rc4::IfcDoorType::ParameterTakesPrecedence() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcDoorType::setParameterTakesPrecedence(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcDoorType::hasUserDefinedOperationType() const { return !data_->getArgument(12)->isNull(); } -std::string Ifc4x3_rc4::IfcDoorType::UserDefinedOperationType() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcDoorType::setUserDefinedOperationType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } +boost::optional< bool > Ifc4x3_rc4::IfcDoorType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcDoorType::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoorType::declaration() const { return *IFC4X3_RC4_IfcDoorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDoorType::Class() { return *IFC4X3_RC4_IfcDoorType_type; } Ifc4x3_rc4::IfcDoorType::IfcDoorType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDoorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDoorType::IfcDoorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDoorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_OperationType,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(v11_OperationType))));data_->setArgument(10,attr);} if (v12_ParameterTakesPrecedence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ParameterTakesPrecedence));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedOperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedOperationType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } +Ifc4x3_rc4::IfcDoorType::IfcDoorType(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::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDoorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDoorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_OperationType,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(v11_OperationType))));data_->setArgument(10,attr);} if (v12_ParameterTakesPrecedence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ParameterTakesPrecedence));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedOperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedOperationType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcDraughtingPreDefinedColour @@ -15416,9 +15694,8 @@ Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(I Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDraughtingPreDefinedCurveFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcDuctFitting -bool Ifc4x3_rc4::IfcDuctFitting::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value Ifc4x3_rc4::IfcDuctFitting::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDuctFitting::setPredefinedType(::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDuctFittingTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc4::IfcDuctFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDuctFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctFitting::declaration() const { return *IFC4X3_RC4_IfcDuctFitting_type; } @@ -15427,19 +15704,18 @@ Ifc4x3_rc4::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData* e) : IfcFlowFi Ifc4x3_rc4::IfcDuctFitting::IfcDuctFitting(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::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctFitting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDuctFittingTypeEnum::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 IfcDuctFittingType -::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value Ifc4x3_rc4::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value Ifc4x3_rc4::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcDuctFittingType::setPredefinedType(::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDuctFittingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctFittingType::declaration() const { return *IFC4X3_RC4_IfcDuctFittingType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDuctFittingType::Class() { return *IFC4X3_RC4_IfcDuctFittingType_type; } Ifc4x3_rc4::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDuctFittingType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDuctFittingType::IfcDuctFittingType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDuctFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcDuctFittingType::IfcDuctFittingType(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::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDuctFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDuctSegment -bool Ifc4x3_rc4::IfcDuctSegment::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc4::IfcDuctSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDuctSegment::setPredefinedType(::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc4::IfcDuctSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSegment::declaration() const { return *IFC4X3_RC4_IfcDuctSegment_type; } @@ -15448,19 +15724,18 @@ Ifc4x3_rc4::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData* e) : IfcFlowSe Ifc4x3_rc4::IfcDuctSegment::IfcDuctSegment(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::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDuctSegmentTypeEnum::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 IfcDuctSegmentType -::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc4::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc4::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcDuctSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSegmentType::declaration() const { return *IFC4X3_RC4_IfcDuctSegmentType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSegmentType::Class() { return *IFC4X3_RC4_IfcDuctSegmentType_type; } Ifc4x3_rc4::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData* e) : IfcFlowSegmentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDuctSegmentType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDuctSegmentType::IfcDuctSegmentType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcDuctSegmentType::IfcDuctSegmentType(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::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDuctSilencer -bool Ifc4x3_rc4::IfcDuctSilencer::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc4::IfcDuctSilencer::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDuctSilencer::setPredefinedType(::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc4::IfcDuctSilencer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSilencer::declaration() const { return *IFC4X3_RC4_IfcDuctSilencer_type; } @@ -15469,19 +15744,18 @@ Ifc4x3_rc4::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData* e) : IfcFlow Ifc4x3_rc4::IfcDuctSilencer::IfcDuctSilencer(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::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDuctSilencer_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcDuctSilencerTypeEnum::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 IfcDuctSilencerType -::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc4::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc4::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcDuctSilencerType::setPredefinedType(::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSilencerType::declaration() const { return *IFC4X3_RC4_IfcDuctSilencerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSilencerType::Class() { return *IFC4X3_RC4_IfcDuctSilencerType_type; } Ifc4x3_rc4::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData* e) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcDuctSilencerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcDuctSilencerType::IfcDuctSilencerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcDuctSilencerType::IfcDuctSilencerType(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::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEarthworksCut -bool Ifc4x3_rc4::IfcEarthworksCut::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value Ifc4x3_rc4::IfcEarthworksCut::PredefinedType() const { return ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEarthworksCut::setPredefinedType(::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksCut::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksCut::declaration() const { return *IFC4X3_RC4_IfcEarthworksCut_type; } @@ -15498,9 +15772,8 @@ Ifc4x3_rc4::IfcEarthworksElement::IfcEarthworksElement(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcEarthworksElement::IfcEarthworksElement(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) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEarthworksElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcEarthworksFill -bool Ifc4x3_rc4::IfcEarthworksFill::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value Ifc4x3_rc4::IfcEarthworksFill::PredefinedType() const { return ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEarthworksFill::setPredefinedType(::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksFill::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksFill::declaration() const { return *IFC4X3_RC4_IfcEarthworksFill_type; } @@ -15509,9 +15782,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 (::Ifc4x3_rc4::IfcVertex*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeStart() const { return (::Ifc4x3_rc4::IfcVertex*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcVertex*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeEnd() const { return (::Ifc4x3_rc4::IfcVertex*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcEdge::setEdgeEnd(::Ifc4x3_rc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15521,9 +15794,9 @@ 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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcEdgeCurve::EdgeGeometry() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 { return *data_->getArgument(3); } +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);} } @@ -15533,19 +15806,18 @@ Ifc4x3_rc4::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData* e) : IfcEdge((IfcE Ifc4x3_rc4::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc4::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEdgeCurve_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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EdgeGeometry));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SameSense));data_->setArgument(3,attr);} } // Function implementations for IfcEdgeLoop -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr Ifc4x3_rc4::IfcEdgeLoop::EdgeList() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcOrientedEdge >(); } -void Ifc4x3_rc4::IfcEdgeLoop::setEdgeList(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr Ifc4x3_rc4::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcOrientedEdge >(); } +void Ifc4x3_rc4::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEdgeLoop::declaration() const { return *IFC4X3_RC4_IfcEdgeLoop_type; } const IfcParse::entity& Ifc4x3_rc4::IfcEdgeLoop::Class() { return *IFC4X3_RC4_IfcEdgeLoop_type; } Ifc4x3_rc4::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcEdgeLoop_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcEdgeLoop::IfcEdgeLoop(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEdgeLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeList)->generalize());data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEdgeLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeList)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcElectricAppliance -bool Ifc4x3_rc4::IfcElectricAppliance::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc4::IfcElectricAppliance::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricAppliance::setPredefinedType(::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc4::IfcElectricAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricAppliance::declaration() const { return *IFC4X3_RC4_IfcElectricAppliance_type; } @@ -15554,19 +15826,18 @@ Ifc4x3_rc4::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcElectricAppliance::IfcElectricAppliance(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::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricAppliance_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricApplianceTypeEnum::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 IfcElectricApplianceType -::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc4::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc4::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcElectricApplianceType::setPredefinedType(::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricApplianceType::declaration() const { return *IFC4X3_RC4_IfcElectricApplianceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElectricApplianceType::Class() { return *IFC4X3_RC4_IfcElectricApplianceType_type; } Ifc4x3_rc4::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElectricApplianceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElectricApplianceType::IfcElectricApplianceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcElectricApplianceType::IfcElectricApplianceType(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::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricDistributionBoard -bool Ifc4x3_rc4::IfcElectricDistributionBoard::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcElectricDistributionBoard::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricDistributionBoard::setPredefinedType(::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcElectricDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricDistributionBoard::declaration() const { return *IFC4X3_RC4_IfcElectricDistributionBoard_type; } @@ -15575,19 +15846,18 @@ Ifc4x3_rc4::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntity Ifc4x3_rc4::IfcElectricDistributionBoard::IfcElectricDistributionBoard(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::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricDistributionBoard_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricDistributionBoardTypeEnum::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 IfcElectricDistributionBoardType -::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricDistributionBoardType::declaration() const { return *IFC4X3_RC4_IfcElectricDistributionBoardType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElectricDistributionBoardType::Class() { return *IFC4X3_RC4_IfcElectricDistributionBoardType_type; } Ifc4x3_rc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElectricDistributionBoardType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricDistributionBoardType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricDistributionBoardTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(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::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricDistributionBoardType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricDistributionBoardTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricFlowStorageDevice -bool Ifc4x3_rc4::IfcElectricFlowStorageDevice::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowStorageDevice::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricFlowStorageDevice::setPredefinedType(::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowStorageDevice::declaration() const { return *IFC4X3_RC4_IfcElectricFlowStorageDevice_type; } @@ -15596,19 +15866,18 @@ Ifc4x3_rc4::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntity Ifc4x3_rc4::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(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::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowStorageDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricFlowStorageDeviceTypeEnum::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 IfcElectricFlowStorageDeviceType -::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::declaration() const { return *IFC4X3_RC4_IfcElectricFlowStorageDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::Class() { return *IFC4X3_RC4_IfcElectricFlowStorageDeviceType_type; } Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData* e) : IfcFlowStorageDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElectricFlowStorageDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowStorageDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(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::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowStorageDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricFlowTreatmentDevice -bool Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::setPredefinedType(::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::declaration() const { return *IFC4X3_RC4_IfcElectricFlowTreatmentDevice_type; } @@ -15617,19 +15886,18 @@ Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(IfcEn Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(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::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowTreatmentDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricFlowTreatmentDeviceTypeEnum::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 IfcElectricFlowTreatmentDeviceType -::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::declaration() const { return *IFC4X3_RC4_IfcElectricFlowTreatmentDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::Class() { return *IFC4X3_RC4_IfcElectricFlowTreatmentDeviceType_type; } Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(IfcEntityInstanceData* e) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElectricFlowTreatmentDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowTreatmentDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(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::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricFlowTreatmentDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricGenerator -bool Ifc4x3_rc4::IfcElectricGenerator::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc4::IfcElectricGenerator::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricGenerator::setPredefinedType(::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc4::IfcElectricGenerator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricGenerator::declaration() const { return *IFC4X3_RC4_IfcElectricGenerator_type; } @@ -15638,19 +15906,18 @@ Ifc4x3_rc4::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcElectricGenerator::IfcElectricGenerator(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::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricGenerator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricGeneratorTypeEnum::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 IfcElectricGeneratorType -::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc4::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc4::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcElectricGeneratorType::setPredefinedType(::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricGeneratorType::declaration() const { return *IFC4X3_RC4_IfcElectricGeneratorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElectricGeneratorType::Class() { return *IFC4X3_RC4_IfcElectricGeneratorType_type; } Ifc4x3_rc4::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElectricGeneratorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElectricGeneratorType::IfcElectricGeneratorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricGeneratorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcElectricGeneratorType::IfcElectricGeneratorType(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::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricGeneratorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricMotor -bool Ifc4x3_rc4::IfcElectricMotor::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value Ifc4x3_rc4::IfcElectricMotor::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricMotor::setPredefinedType(::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricMotorTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc4::IfcElectricMotor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricMotorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricMotor::declaration() const { return *IFC4X3_RC4_IfcElectricMotor_type; } @@ -15659,19 +15926,18 @@ Ifc4x3_rc4::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData* e) : IfcEn Ifc4x3_rc4::IfcElectricMotor::IfcElectricMotor(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::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricMotor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricMotorTypeEnum::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 IfcElectricMotorType -::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value Ifc4x3_rc4::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value Ifc4x3_rc4::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcElectricMotorType::setPredefinedType(::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricMotorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricMotorType::declaration() const { return *IFC4X3_RC4_IfcElectricMotorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElectricMotorType::Class() { return *IFC4X3_RC4_IfcElectricMotorType_type; } Ifc4x3_rc4::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElectricMotorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElectricMotorType::IfcElectricMotorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricMotorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricMotorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcElectricMotorType::IfcElectricMotorType(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::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricMotorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricMotorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricTimeControl -bool Ifc4x3_rc4::IfcElectricTimeControl::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc4::IfcElectricTimeControl::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricTimeControl::setPredefinedType(::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc4::IfcElectricTimeControl::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricTimeControl::declaration() const { return *IFC4X3_RC4_IfcElectricTimeControl_type; } @@ -15680,19 +15946,18 @@ Ifc4x3_rc4::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData Ifc4x3_rc4::IfcElectricTimeControl::IfcElectricTimeControl(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::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricTimeControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricTimeControlTypeEnum::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 IfcElectricTimeControlType -::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc4::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc4::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcElectricTimeControlType::setPredefinedType(::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricTimeControlType::declaration() const { return *IFC4X3_RC4_IfcElectricTimeControlType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElectricTimeControlType::Class() { return *IFC4X3_RC4_IfcElectricTimeControlType_type; } Ifc4x3_rc4::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElectricTimeControlType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElectricTimeControlType::IfcElectricTimeControlType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricTimeControlType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcElectricTimeControlType::IfcElectricTimeControlType(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::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElectricTimeControlType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElement -bool Ifc4x3_rc4::IfcElement::hasTag() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcElement::Tag() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcElement::setTag(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcRelFillsElement::list::ptr Ifc4x3_rc4::IfcElement::FillsVoids() const { return data_->getInverse(IFC4X3_RC4_IfcRelFillsElement_type, 5)->as(); } ::Ifc4x3_rc4::IfcRelConnectsElements::list::ptr Ifc4x3_rc4::IfcElement::ConnectedTo() const { return data_->getInverse(IFC4X3_RC4_IfcRelConnectsElements_type, 5)->as(); } @@ -15705,6 +15970,7 @@ void Ifc4x3_rc4::IfcElement::setTag(std::string v) { {IfcWrite::IfcWriteArgument ::Ifc4x3_rc4::IfcRelConnectsElements::list::ptr Ifc4x3_rc4::IfcElement::ConnectedFrom() const { return data_->getInverse(IFC4X3_RC4_IfcRelConnectsElements_type, 6)->as(); } ::Ifc4x3_rc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc4::IfcElement::ContainedInStructure() const { return data_->getInverse(IFC4X3_RC4_IfcRelContainedInSpatialStructure_type, 4)->as(); } ::Ifc4x3_rc4::IfcRelCoversBldgElements::list::ptr Ifc4x3_rc4::IfcElement::HasCoverings() const { return data_->getInverse(IFC4X3_RC4_IfcRelCoversBldgElements_type, 4)->as(); } +::Ifc4x3_rc4::IfcRelAdheresToElement::list::ptr Ifc4x3_rc4::IfcElement::HasSurfaceFeatures() const { return data_->getInverse(IFC4X3_RC4_IfcRelAdheresToElement_type, 4)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcElement::declaration() const { return *IFC4X3_RC4_IfcElement_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElement::Class() { return *IFC4X3_RC4_IfcElement_type; } @@ -15712,12 +15978,10 @@ Ifc4x3_rc4::IfcElement::IfcElement(IfcEntityInstanceData* e) : IfcProduct((IfcEn Ifc4x3_rc4::IfcElement::IfcElement(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) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcElementAssembly -bool Ifc4x3_rc4::IfcElementAssembly::hasAssemblyPlace() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value Ifc4x3_rc4::IfcElementAssembly::AssemblyPlace() const { return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElementAssembly::setAssemblyPlace(::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcElementAssembly::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc4::IfcElementAssembly::PredefinedType() const { return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcElementAssembly::setPredefinedType(::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc4::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAssemblyPlaceEnum::ToString(*v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc4::IfcElementAssembly::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElementAssembly::declaration() const { return *IFC4X3_RC4_IfcElementAssembly_type; } @@ -15726,14 +15990,14 @@ Ifc4x3_rc4::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcElementAssembly::IfcElementAssembly(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::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementAssembly_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_AssemblyPlace) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_AssemblyPlace,::Ifc4x3_rc4::IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcElementAssemblyType -::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc4::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc4::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcElementAssemblyType::setPredefinedType(::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElementAssemblyType::declaration() const { return *IFC4X3_RC4_IfcElementAssemblyType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElementAssemblyType::Class() { return *IFC4X3_RC4_IfcElementAssemblyType_type; } Ifc4x3_rc4::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElementAssemblyType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElementAssemblyType::IfcElementAssemblyType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementAssemblyType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcElementAssemblyType::IfcElementAssemblyType(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::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementAssemblyType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElementComponent @@ -15749,34 +16013,32 @@ Ifc4x3_rc4::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc4::IfcElementComponentType::declaration() const { return *IFC4X3_RC4_IfcElementComponentType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElementComponentType::Class() { return *IFC4X3_RC4_IfcElementComponentType_type; } Ifc4x3_rc4::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElementComponentType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElementComponentType::IfcElementComponentType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementComponentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcElementComponentType::IfcElementComponentType(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) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementComponentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcElementQuantity -bool Ifc4x3_rc4::IfcElementQuantity::hasMethodOfMeasurement() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcElementQuantity::MethodOfMeasurement() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcElementQuantity::setMethodOfMeasurement(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcElementQuantity::Quantities() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } -void Ifc4x3_rc4::IfcElementQuantity::setQuantities(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } +void Ifc4x3_rc4::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElementQuantity::declaration() const { return *IFC4X3_RC4_IfcElementQuantity_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElementQuantity::Class() { return *IFC4X3_RC4_IfcElementQuantity_type; } Ifc4x3_rc4::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData* e) : IfcQuantitySet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElementQuantity_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcElementQuantity::IfcElementQuantity(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_MethodOfMeasurement, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_MethodOfMeasurement) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_MethodOfMeasurement));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_Quantities)->generalize());data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcElementQuantity::IfcElementQuantity(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_MethodOfMeasurement, aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_MethodOfMeasurement) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_MethodOfMeasurement));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_Quantities)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcElementType -bool Ifc4x3_rc4::IfcElementType::hasElementType() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcElementType::ElementType() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcElementType::setElementType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElementType::declaration() const { return *IFC4X3_RC4_IfcElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcElementType::Class() { return *IFC4X3_RC4_IfcElementType_type; } Ifc4x3_rc4::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypeProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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); } } +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 (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcElementarySurface::Position() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcElementarySurface::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15786,9 +16048,9 @@ Ifc4x3_rc4::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position) : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementarySurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcEllipse -double Ifc4x3_rc4::IfcEllipse::SemiAxis1() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcEllipse::SemiAxis1() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcEllipse::setSemiAxis1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcEllipse::SemiAxis2() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcEllipse::SemiAxis2() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcEllipse::setSemiAxis2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15798,9 +16060,9 @@ Ifc4x3_rc4::IfcEllipse::IfcEllipse(IfcEntityInstanceData* e) : IfcConic((IfcEnti Ifc4x3_rc4::IfcEllipse::IfcEllipse(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEllipse_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SemiAxis1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SemiAxis2));data_->setArgument(2,attr);} } // Function implementations for IfcEllipseProfileDef -double Ifc4x3_rc4::IfcEllipseProfileDef::SemiAxis1() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcEllipseProfileDef::SemiAxis1() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcEllipseProfileDef::setSemiAxis1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcEllipseProfileDef::SemiAxis2() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcEllipseProfileDef::SemiAxis2() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcEllipseProfileDef::setSemiAxis2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15823,12 +16085,11 @@ Ifc4x3_rc4::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_ const IfcParse::entity& Ifc4x3_rc4::IfcEnergyConversionDeviceType::declaration() const { return *IFC4X3_RC4_IfcEnergyConversionDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcEnergyConversionDeviceType::Class() { return *IFC4X3_RC4_IfcEnergyConversionDeviceType_type; } Ifc4x3_rc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcEnergyConversionDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEnergyConversionDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(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) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEnergyConversionDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcEngine -bool Ifc4x3_rc4::IfcEngine::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcEngineTypeEnum::Value Ifc4x3_rc4::IfcEngine::PredefinedType() const { return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEngine::setPredefinedType(::Ifc4x3_rc4::IfcEngineTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEngineTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > Ifc4x3_rc4::IfcEngine::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEngineTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEngine::declaration() const { return *IFC4X3_RC4_IfcEngine_type; } @@ -15837,19 +16098,18 @@ Ifc4x3_rc4::IfcEngine::IfcEngine(IfcEntityInstanceData* e) : IfcEnergyConversion Ifc4x3_rc4::IfcEngine::IfcEngine(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::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEngine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcEngineTypeEnum::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 IfcEngineType -::Ifc4x3_rc4::IfcEngineTypeEnum::Value Ifc4x3_rc4::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcEngineTypeEnum::Value Ifc4x3_rc4::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcEngineType::setPredefinedType(::Ifc4x3_rc4::IfcEngineTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEngineTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEngineType::declaration() const { return *IFC4X3_RC4_IfcEngineType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcEngineType::Class() { return *IFC4X3_RC4_IfcEngineType_type; } Ifc4x3_rc4::IfcEngineType::IfcEngineType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcEngineType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcEngineType::IfcEngineType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEngineType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcEngineTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcEngineType::IfcEngineType(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::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEngineType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcEngineTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEvaporativeCooler -bool Ifc4x3_rc4::IfcEvaporativeCooler::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc4::IfcEvaporativeCooler::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEvaporativeCooler::setPredefinedType(::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc4::IfcEvaporativeCooler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporativeCooler::declaration() const { return *IFC4X3_RC4_IfcEvaporativeCooler_type; } @@ -15858,19 +16118,18 @@ Ifc4x3_rc4::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcEvaporativeCooler::IfcEvaporativeCooler(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::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporativeCooler_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcEvaporativeCoolerTypeEnum::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 IfcEvaporativeCoolerType -::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc4::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc4::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporativeCoolerType::declaration() const { return *IFC4X3_RC4_IfcEvaporativeCoolerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporativeCoolerType::Class() { return *IFC4X3_RC4_IfcEvaporativeCoolerType_type; } Ifc4x3_rc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcEvaporativeCoolerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporativeCoolerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(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::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporativeCoolerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEvaporator -bool Ifc4x3_rc4::IfcEvaporator::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value Ifc4x3_rc4::IfcEvaporator::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEvaporator::setPredefinedType(::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEvaporatorTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc4::IfcEvaporator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEvaporatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporator::declaration() const { return *IFC4X3_RC4_IfcEvaporator_type; } @@ -15879,27 +16138,23 @@ Ifc4x3_rc4::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData* e) : IfcEnergyCo Ifc4x3_rc4::IfcEvaporator::IfcEvaporator(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::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcEvaporatorTypeEnum::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 IfcEvaporatorType -::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value Ifc4x3_rc4::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value Ifc4x3_rc4::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcEvaporatorType::setPredefinedType(::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEvaporatorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporatorType::declaration() const { return *IFC4X3_RC4_IfcEvaporatorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporatorType::Class() { return *IFC4X3_RC4_IfcEvaporatorType_type; } Ifc4x3_rc4::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcEvaporatorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcEvaporatorType::IfcEvaporatorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporatorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcEvaporatorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcEvaporatorType::IfcEvaporatorType(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::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvaporatorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcEvaporatorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEvent -bool Ifc4x3_rc4::IfcEvent::hasPredefinedType() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcEventTypeEnum::Value Ifc4x3_rc4::IfcEvent::PredefinedType() const { return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcEvent::setPredefinedType(::Ifc4x3_rc4::IfcEventTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEventTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcEvent::hasEventTriggerType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value Ifc4x3_rc4::IfcEvent::EventTriggerType() const { return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEvent::setEventTriggerType(::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);} } -bool Ifc4x3_rc4::IfcEvent::hasUserDefinedEventTriggerType() const { return !data_->getArgument(9)->isNull(); } -std::string Ifc4x3_rc4::IfcEvent::UserDefinedEventTriggerType() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcEvent::setUserDefinedEventTriggerType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcEvent::hasEventOccurenceTime() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcEventTime* Ifc4x3_rc4::IfcEvent::EventOccurenceTime() const { return (::Ifc4x3_rc4::IfcEventTime*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } +boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > Ifc4x3_rc4::IfcEvent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } +void Ifc4x3_rc4::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEventTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc4::IfcEvent::EventTriggerType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } +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 (::Ifc4x3_rc4::IfcEventTime*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } void Ifc4x3_rc4::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc4::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -15909,18 +16164,14 @@ Ifc4x3_rc4::IfcEvent::IfcEvent(IfcEntityInstanceData* e) : IfcProcess((IfcEntity Ifc4x3_rc4::IfcEvent::IfcEvent(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, boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc4::IfcEventTime* v11_EventOccurenceTime) : IfcProcess((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEvent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4x3_rc4::IfcEventTypeEnum::ToString(*v8_PredefinedType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EventTriggerType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_EventTriggerType,::Ifc4x3_rc4::IfcEventTriggerTypeEnum::ToString(*v9_EventTriggerType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_UserDefinedEventTriggerType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedEventTriggerType));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_EventOccurenceTime));data_->setArgument(10,attr);} } // Function implementations for IfcEventTime -bool Ifc4x3_rc4::IfcEventTime::hasActualDate() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcEventTime::ActualDate() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcEventTime::setActualDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcEventTime::hasEarlyDate() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcEventTime::EarlyDate() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcEventTime::setEarlyDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcEventTime::hasLateDate() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcEventTime::LateDate() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcEventTime::setLateDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcEventTime::hasScheduleDate() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcEventTime::ScheduleDate() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcEventTime::setScheduleDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::ActualDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::EarlyDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::LateDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::ScheduleDate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEventTime::declaration() const { return *IFC4X3_RC4_IfcEventTime_type; } @@ -15929,35 +16180,32 @@ Ifc4x3_rc4::IfcEventTime::IfcEventTime(IfcEntityInstanceData* e) : IfcScheduling Ifc4x3_rc4::IfcEventTime::IfcEventTime(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_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEventTime_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_ActualDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ActualDate));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EarlyDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EarlyDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LateDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LateDate));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleDate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcEventType -::Ifc4x3_rc4::IfcEventTypeEnum::Value Ifc4x3_rc4::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcEventTypeEnum::Value Ifc4x3_rc4::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcEventType::setPredefinedType(::Ifc4x3_rc4::IfcEventTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEventTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value Ifc4x3_rc4::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } +::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value Ifc4x3_rc4::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc4::IfcEventType::setEventTriggerType(::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEventTriggerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcEventType::hasUserDefinedEventTriggerType() const { return !data_->getArgument(11)->isNull(); } -std::string Ifc4x3_rc4::IfcEventType::UserDefinedEventTriggerType() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcEventType::setUserDefinedEventTriggerType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcEventType::UserDefinedEventTriggerType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEventType::declaration() const { return *IFC4X3_RC4_IfcEventType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcEventType::Class() { return *IFC4X3_RC4_IfcEventType_type; } Ifc4x3_rc4::IfcEventType::IfcEventType(IfcEntityInstanceData* e) : IfcTypeProcess((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcEventType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcEventType::IfcEventType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEventType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));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::IfcEventTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_EventTriggerType,::Ifc4x3_rc4::IfcEventTriggerTypeEnum::ToString(v11_EventTriggerType))));data_->setArgument(10,attr);} if (v12_UserDefinedEventTriggerType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_UserDefinedEventTriggerType));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } +Ifc4x3_rc4::IfcEventType::IfcEventType(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_ProcessType, ::Ifc4x3_rc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEventType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));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::IfcEventTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_EventTriggerType,::Ifc4x3_rc4::IfcEventTriggerTypeEnum::ToString(v11_EventTriggerType))));data_->setArgument(10,attr);} if (v12_UserDefinedEventTriggerType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_UserDefinedEventTriggerType));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } // Function implementations for IfcExtendedProperties -bool Ifc4x3_rc4::IfcExtendedProperties::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcExtendedProperties::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcExtendedProperties::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcExtendedProperties::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcExtendedProperties::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcExtendedProperties::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcExtendedProperties::Properties() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } -void Ifc4x3_rc4::IfcExtendedProperties::setProperties(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcExtendedProperties::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcExtendedProperties::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::IfcExtendedProperties::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } +void Ifc4x3_rc4::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcExtendedProperties::declaration() const { return *IFC4X3_RC4_IfcExtendedProperties_type; } const IfcParse::entity& Ifc4x3_rc4::IfcExtendedProperties::Class() { return *IFC4X3_RC4_IfcExtendedProperties_type; } Ifc4x3_rc4::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcExtendedProperties_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExtendedProperties_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);} } +Ifc4x3_rc4::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExtendedProperties_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);} } // Function implementations for IfcExternalInformation @@ -15968,15 +16216,12 @@ Ifc4x3_rc4::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData Ifc4x3_rc4::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalInformation_type); } // Function implementations for IfcExternalReference -bool Ifc4x3_rc4::IfcExternalReference::hasLocation() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcExternalReference::Location() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcExternalReference::setLocation(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcExternalReference::hasIdentification() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcExternalReference::Identification() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcExternalReference::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcExternalReference::hasName() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcExternalReference::Name() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcExternalReference::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Identification() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 2)->as(); } @@ -15986,21 +16231,20 @@ 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 (::Ifc4x3_rc4::IfcExternalReference*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcExternalReference* Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatingReference() const { return (::Ifc4x3_rc4::IfcExternalReference*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc4::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcEntityList::ptr Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_RC4_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::Class() { return *IFC4X3_RC4_IfcExternalReferenceRelationship_type; } Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement -bool Ifc4x3_rc4::IfcExternalSpatialElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_rc4::IfcExternalSpatialElement::PredefinedType() const { return ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcExternalSpatialElement::setPredefinedType(::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc4::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc4::IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelSpaceBoundary_type, 4)->as(); } @@ -16042,9 +16286,9 @@ 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 (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 { return *data_->getArgument(3); } +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);} } @@ -16054,7 +16298,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 (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16064,30 +16308,30 @@ Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityIn Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc4::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExtrudedAreaSolidTapered_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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndSweptArea));data_->setArgument(4,attr);} } // Function implementations for IfcFace -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr Ifc4x3_rc4::IfcFace::Bounds() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcFaceBound >(); } -void Ifc4x3_rc4::IfcFace::setBounds(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr Ifc4x3_rc4::IfcFace::Bounds() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcFaceBound >(); } +void Ifc4x3_rc4::IfcFace::setBounds(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcTextureMap::list::ptr Ifc4x3_rc4::IfcFace::HasTextureMaps() const { return data_->getInverse(IFC4X3_RC4_IfcTextureMap_type, 2)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcFace::declaration() const { return *IFC4X3_RC4_IfcFace_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFace::Class() { return *IFC4X3_RC4_IfcFace_type; } Ifc4x3_rc4::IfcFace::IfcFace(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFace_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFace::IfcFace(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bounds)->generalize());data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bounds)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBasedSurfaceModel -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr Ifc4x3_rc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcConnectedFaceSet >(); } -void Ifc4x3_rc4::IfcFaceBasedSurfaceModel::setFbsmFaces(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr Ifc4x3_rc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcConnectedFaceSet >(); } +void Ifc4x3_rc4::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFaceBasedSurfaceModel::declaration() const { return *IFC4X3_RC4_IfcFaceBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFaceBasedSurfaceModel::Class() { return *IFC4X3_RC4_IfcFaceBasedSurfaceModel_type; } Ifc4x3_rc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFaceBasedSurfaceModel_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcLoop*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcLoop* Ifc4x3_rc4::IfcFaceBound::Bound() const { return (::Ifc4x3_rc4::IfcLoop*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } @@ -16105,16 +16349,16 @@ 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 (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcFaceSurface::FaceSurface() const { return (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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 { return *data_->getArgument(2); } +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);} } const IfcParse::entity& Ifc4x3_rc4::IfcFaceSurface::declaration() const { return *IFC4X3_RC4_IfcFaceSurface_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFaceSurface::Class() { return *IFC4X3_RC4_IfcFaceSurface_type; } Ifc4x3_rc4::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData* e) : IfcFace((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFaceSurface_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFaceSurface::IfcFaceSurface(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFaceSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bounds)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FaceSurface));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFaceSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bounds)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FaceSurface));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcFacetedBrep @@ -16125,14 +16369,14 @@ Ifc4x3_rc4::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData* e) : IfcManifo Ifc4x3_rc4::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_rc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFacetedBrep_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);} } // Function implementations for IfcFacetedBrepWithVoids -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr Ifc4x3_rc4::IfcFacetedBrepWithVoids::Voids() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcClosedShell >(); } -void Ifc4x3_rc4::IfcFacetedBrepWithVoids::setVoids(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Ifc4x3_rc4::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcClosedShell >(); } +void Ifc4x3_rc4::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFacetedBrepWithVoids::declaration() const { return *IFC4X3_RC4_IfcFacetedBrepWithVoids_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFacetedBrepWithVoids::Class() { return *IFC4X3_RC4_IfcFacetedBrepWithVoids_type; } Ifc4x3_rc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData* e) : IfcFacetedBrep((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFacetedBrepWithVoids_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc4::IfcClosedShell* v1_Outer, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFacetedBrepWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Voids)->generalize());data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFacetedBrepWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Voids)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcFacility @@ -16143,9 +16387,9 @@ 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 (::Ifc4x3_rc4::IfcFacilityPartTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +::Ifc4x3_rc4::IfcFacilityPartTypeSelect* Ifc4x3_rc4::IfcFacilityPart::PredefinedType() const { return (::Ifc4x3_rc4::IfcFacilityPartTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } 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)); } +::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);} } @@ -16155,24 +16399,18 @@ Ifc4x3_rc4::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData* e) : IfcSpat Ifc4x3_rc4::IfcFacilityPart::IfcFacilityPart(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, ::Ifc4x3_rc4::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value v11_UsageType) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFacilityPart_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_PredefinedType));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_UsageType,::Ifc4x3_rc4::IfcFacilityUsageEnum::ToString(v11_UsageType))));data_->setArgument(10,attr);} } // Function implementations for IfcFailureConnectionCondition -bool Ifc4x3_rc4::IfcFailureConnectionCondition::hasTensionFailureX() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureX() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcFailureConnectionCondition::hasTensionFailureY() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureY() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcFailureConnectionCondition::hasTensionFailureZ() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureZ() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcFailureConnectionCondition::hasCompressionFailureX() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureX() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcFailureConnectionCondition::hasCompressionFailureY() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureY() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcFailureConnectionCondition::hasCompressionFailureZ() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureZ() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFailureConnectionCondition::declaration() const { return *IFC4X3_RC4_IfcFailureConnectionCondition_type; } @@ -16181,9 +16419,8 @@ Ifc4x3_rc4::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEnti Ifc4x3_rc4::IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_TensionFailureX, boost::optional< double > v3_TensionFailureY, boost::optional< double > v4_TensionFailureZ, boost::optional< double > v5_CompressionFailureX, boost::optional< double > v6_CompressionFailureY, boost::optional< double > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFailureConnectionCondition_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_TensionFailureX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TensionFailureX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_TensionFailureY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TensionFailureY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TensionFailureZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TensionFailureZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_CompressionFailureX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_CompressionFailureX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_CompressionFailureY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_CompressionFailureY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_CompressionFailureZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_CompressionFailureZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcFan -bool Ifc4x3_rc4::IfcFan::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcFanTypeEnum::Value Ifc4x3_rc4::IfcFan::PredefinedType() const { return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFan::setPredefinedType(::Ifc4x3_rc4::IfcFanTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFanTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > Ifc4x3_rc4::IfcFan::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFanTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFan::declaration() const { return *IFC4X3_RC4_IfcFan_type; } @@ -16192,19 +16429,18 @@ Ifc4x3_rc4::IfcFan::IfcFan(IfcEntityInstanceData* e) : IfcFlowMovingDevice((IfcE Ifc4x3_rc4::IfcFan::IfcFan(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::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFan_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFanTypeEnum::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 IfcFanType -::Ifc4x3_rc4::IfcFanTypeEnum::Value Ifc4x3_rc4::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcFanTypeEnum::Value Ifc4x3_rc4::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcFanType::setPredefinedType(::Ifc4x3_rc4::IfcFanTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFanTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFanType::declaration() const { return *IFC4X3_RC4_IfcFanType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFanType::Class() { return *IFC4X3_RC4_IfcFanType_type; } Ifc4x3_rc4::IfcFanType::IfcFanType(IfcEntityInstanceData* e) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFanType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFanType::IfcFanType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFanType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFanTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcFanType::IfcFanType(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::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFanType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFanTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFastener -bool Ifc4x3_rc4::IfcFastener::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcFastenerTypeEnum::Value Ifc4x3_rc4::IfcFastener::PredefinedType() const { return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFastener::setPredefinedType(::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFastenerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > Ifc4x3_rc4::IfcFastener::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFastenerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFastener::declaration() const { return *IFC4X3_RC4_IfcFastener_type; } @@ -16213,14 +16449,14 @@ Ifc4x3_rc4::IfcFastener::IfcFastener(IfcEntityInstanceData* e) : IfcElementCompo Ifc4x3_rc4::IfcFastener::IfcFastener(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::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFastener_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFastenerTypeEnum::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 IfcFastenerType -::Ifc4x3_rc4::IfcFastenerTypeEnum::Value Ifc4x3_rc4::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcFastenerTypeEnum::Value Ifc4x3_rc4::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcFastenerType::setPredefinedType(::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFastenerType::declaration() const { return *IFC4X3_RC4_IfcFastenerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFastenerType::Class() { return *IFC4X3_RC4_IfcFastenerType_type; } Ifc4x3_rc4::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFastenerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFastenerType::IfcFastenerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFastenerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFastenerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcFastenerType::IfcFastenerType(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::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFastenerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFastenerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFeatureElement @@ -16249,30 +16485,27 @@ Ifc4x3_rc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntity Ifc4x3_rc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(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) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -IfcEntityList::ptr Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcFillAreaStyle::hasModelOrDraughting() const { return !data_->getArgument(2)->isNull(); } -bool Ifc4x3_rc4::IfcFillAreaStyle::ModelOrDraughting() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< bool > Ifc4x3_rc4::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC4_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyle::Class() { return *IFC4X3_RC4_IfcFillAreaStyle_type; } Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFillAreaStyle_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, IfcEntityList::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); } } +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 (::Ifc4x3_rc4::IfcCurveStyle*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurveStyle* Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return (::Ifc4x3_rc4::IfcCurveStyle*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcHatchLineDistanceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcHatchLineDistanceSelect* Ifc4x3_rc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return (::Ifc4x3_rc4::IfcHatchLineDistanceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_rc4::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcFillAreaStyleHatching::hasPointOfReferenceHatchLine() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { return (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcFillAreaStyleHatching::hasPatternStart() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PatternStart() const { return (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } 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 { return *data_->getArgument(4); } +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);} } @@ -16282,23 +16515,22 @@ Ifc4x3_rc4::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstance Ifc4x3_rc4::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_rc4::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_rc4::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 IfcFillAreaStyleTiles -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcVector >::ptr Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingPattern() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcVector >(); } -void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTilingPattern(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcVector >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStyledItem >::ptr Ifc4x3_rc4::IfcFillAreaStyleTiles::Tiles() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcStyledItem >(); } -void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTiles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStyledItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingScale() const { return *data_->getArgument(2); } +aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcVector >(); } +void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcStyledItem >::ptr Ifc4x3_rc4::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcStyledItem >(); } +void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x3_rc4::IfcStyledItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +double Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingScale() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTilingScale(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyleTiles::declaration() const { return *IFC4X3_RC4_IfcFillAreaStyleTiles_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyleTiles::Class() { return *IFC4X3_RC4_IfcFillAreaStyleTiles_type; } Ifc4x3_rc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFillAreaStyleTiles_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcVector >::ptr v1_TilingPattern, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFillAreaStyleTiles_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TilingPattern)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Tiles)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TilingScale));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_rc4::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFillAreaStyleTiles_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TilingPattern)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Tiles)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TilingScale));data_->setArgument(2,attr);} } // Function implementations for IfcFilter -bool Ifc4x3_rc4::IfcFilter::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcFilterTypeEnum::Value Ifc4x3_rc4::IfcFilter::PredefinedType() const { return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFilter::setPredefinedType(::Ifc4x3_rc4::IfcFilterTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFilterTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > Ifc4x3_rc4::IfcFilter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFilterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFilter::declaration() const { return *IFC4X3_RC4_IfcFilter_type; } @@ -16307,19 +16539,18 @@ Ifc4x3_rc4::IfcFilter::IfcFilter(IfcEntityInstanceData* e) : IfcFlowTreatmentDev Ifc4x3_rc4::IfcFilter::IfcFilter(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::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFilter_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFilterTypeEnum::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 IfcFilterType -::Ifc4x3_rc4::IfcFilterTypeEnum::Value Ifc4x3_rc4::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcFilterTypeEnum::Value Ifc4x3_rc4::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcFilterType::setPredefinedType(::Ifc4x3_rc4::IfcFilterTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFilterTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFilterType::declaration() const { return *IFC4X3_RC4_IfcFilterType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFilterType::Class() { return *IFC4X3_RC4_IfcFilterType_type; } Ifc4x3_rc4::IfcFilterType::IfcFilterType(IfcEntityInstanceData* e) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFilterType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFilterType::IfcFilterType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFilterType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFilterTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcFilterType::IfcFilterType(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::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFilterType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFilterTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFireSuppressionTerminal -bool Ifc4x3_rc4::IfcFireSuppressionTerminal::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc4::IfcFireSuppressionTerminal::PredefinedType() const { return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFireSuppressionTerminal::setPredefinedType(::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc4::IfcFireSuppressionTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFireSuppressionTerminal::declaration() const { return *IFC4X3_RC4_IfcFireSuppressionTerminal_type; } @@ -16328,17 +16559,17 @@ Ifc4x3_rc4::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInst Ifc4x3_rc4::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(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::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFireSuppressionTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFireSuppressionTerminalTypeEnum::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 IfcFireSuppressionTerminalType -::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc4::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc4::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFireSuppressionTerminalType::declaration() const { return *IFC4X3_RC4_IfcFireSuppressionTerminalType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFireSuppressionTerminalType::Class() { return *IFC4X3_RC4_IfcFireSuppressionTerminalType_type; } Ifc4x3_rc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFireSuppressionTerminalType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16361,7 +16592,7 @@ Ifc4x3_rc4::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcFlowControllerType::declaration() const { return *IFC4X3_RC4_IfcFlowControllerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFlowControllerType::Class() { return *IFC4X3_RC4_IfcFlowControllerType_type; } Ifc4x3_rc4::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFlowControllerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFlowControllerType::IfcFlowControllerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowControllerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcFlowControllerType::IfcFlowControllerType(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) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowControllerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcFlowFitting @@ -16377,12 +16608,11 @@ Ifc4x3_rc4::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcFlowFittingType::declaration() const { return *IFC4X3_RC4_IfcFlowFittingType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFlowFittingType::Class() { return *IFC4X3_RC4_IfcFlowFittingType_type; } Ifc4x3_rc4::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFlowFittingType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFlowFittingType::IfcFlowFittingType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcFlowFittingType::IfcFlowFittingType(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) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcFlowInstrument -bool Ifc4x3_rc4::IfcFlowInstrument::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc4::IfcFlowInstrument::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFlowInstrument::setPredefinedType(::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc4::IfcFlowInstrument::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFlowInstrument::declaration() const { return *IFC4X3_RC4_IfcFlowInstrument_type; } @@ -16391,19 +16621,18 @@ Ifc4x3_rc4::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcFlowInstrument::IfcFlowInstrument(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::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowInstrument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFlowInstrumentTypeEnum::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 IfcFlowInstrumentType -::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc4::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc4::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcFlowInstrumentType::setPredefinedType(::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFlowInstrumentType::declaration() const { return *IFC4X3_RC4_IfcFlowInstrumentType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFlowInstrumentType::Class() { return *IFC4X3_RC4_IfcFlowInstrumentType_type; } Ifc4x3_rc4::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFlowInstrumentType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFlowInstrumentType::IfcFlowInstrumentType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowInstrumentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcFlowInstrumentType::IfcFlowInstrumentType(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::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowInstrumentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFlowMeter -bool Ifc4x3_rc4::IfcFlowMeter::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value Ifc4x3_rc4::IfcFlowMeter::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFlowMeter::setPredefinedType(::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFlowMeterTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc4::IfcFlowMeter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFlowMeterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMeter::declaration() const { return *IFC4X3_RC4_IfcFlowMeter_type; } @@ -16412,14 +16641,14 @@ Ifc4x3_rc4::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData* e) : IfcFlowContro Ifc4x3_rc4::IfcFlowMeter::IfcFlowMeter(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::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowMeter_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFlowMeterTypeEnum::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 IfcFlowMeterType -::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value Ifc4x3_rc4::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value Ifc4x3_rc4::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcFlowMeterType::setPredefinedType(::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFlowMeterTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMeterType::declaration() const { return *IFC4X3_RC4_IfcFlowMeterType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMeterType::Class() { return *IFC4X3_RC4_IfcFlowMeterType_type; } Ifc4x3_rc4::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFlowMeterType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFlowMeterType::IfcFlowMeterType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowMeterType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFlowMeterTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcFlowMeterType::IfcFlowMeterType(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::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowMeterType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFlowMeterTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFlowMovingDevice @@ -16435,7 +16664,7 @@ Ifc4x3_rc4::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc4::IfcFlowMovingDeviceType::declaration() const { return *IFC4X3_RC4_IfcFlowMovingDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMovingDeviceType::Class() { return *IFC4X3_RC4_IfcFlowMovingDeviceType_type; } Ifc4x3_rc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFlowMovingDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowMovingDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(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) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowMovingDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcFlowSegment @@ -16451,7 +16680,7 @@ Ifc4x3_rc4::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcFlowSegmentType::declaration() const { return *IFC4X3_RC4_IfcFlowSegmentType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFlowSegmentType::Class() { return *IFC4X3_RC4_IfcFlowSegmentType_type; } Ifc4x3_rc4::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFlowSegmentType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFlowSegmentType::IfcFlowSegmentType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcFlowSegmentType::IfcFlowSegmentType(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) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcFlowStorageDevice @@ -16467,7 +16696,7 @@ Ifc4x3_rc4::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc4::IfcFlowStorageDeviceType::declaration() const { return *IFC4X3_RC4_IfcFlowStorageDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFlowStorageDeviceType::Class() { return *IFC4X3_RC4_IfcFlowStorageDeviceType_type; } Ifc4x3_rc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFlowStorageDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowStorageDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(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) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowStorageDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcFlowTerminal @@ -16483,7 +16712,7 @@ Ifc4x3_rc4::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcFlowTerminalType::declaration() const { return *IFC4X3_RC4_IfcFlowTerminalType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFlowTerminalType::Class() { return *IFC4X3_RC4_IfcFlowTerminalType_type; } Ifc4x3_rc4::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFlowTerminalType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFlowTerminalType::IfcFlowTerminalType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcFlowTerminalType::IfcFlowTerminalType(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) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcFlowTreatmentDevice @@ -16499,12 +16728,11 @@ Ifc4x3_rc4::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_Global const IfcParse::entity& Ifc4x3_rc4::IfcFlowTreatmentDeviceType::declaration() const { return *IFC4X3_RC4_IfcFlowTreatmentDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFlowTreatmentDeviceType::Class() { return *IFC4X3_RC4_IfcFlowTreatmentDeviceType_type; } Ifc4x3_rc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFlowTreatmentDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(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) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFlowTreatmentDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcFooting -bool Ifc4x3_rc4::IfcFooting::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcFootingTypeEnum::Value Ifc4x3_rc4::IfcFooting::PredefinedType() const { return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFooting::setPredefinedType(::Ifc4x3_rc4::IfcFootingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFootingTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > Ifc4x3_rc4::IfcFooting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFootingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFooting::declaration() const { return *IFC4X3_RC4_IfcFooting_type; } @@ -16513,14 +16741,14 @@ Ifc4x3_rc4::IfcFooting::IfcFooting(IfcEntityInstanceData* e) : IfcBuiltElement(( Ifc4x3_rc4::IfcFooting::IfcFooting(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::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFooting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFootingTypeEnum::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 IfcFootingType -::Ifc4x3_rc4::IfcFootingTypeEnum::Value Ifc4x3_rc4::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcFootingTypeEnum::Value Ifc4x3_rc4::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcFootingType::setPredefinedType(::Ifc4x3_rc4::IfcFootingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFootingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFootingType::declaration() const { return *IFC4X3_RC4_IfcFootingType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFootingType::Class() { return *IFC4X3_RC4_IfcFootingType_type; } Ifc4x3_rc4::IfcFootingType::IfcFootingType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFootingType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFootingType::IfcFootingType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFootingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFootingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcFootingType::IfcFootingType(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::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFootingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFootingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFurnishingElement @@ -16536,12 +16764,11 @@ Ifc4x3_rc4::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc4::IfcFurnishingElementType::declaration() const { return *IFC4X3_RC4_IfcFurnishingElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFurnishingElementType::Class() { return *IFC4X3_RC4_IfcFurnishingElementType_type; } Ifc4x3_rc4::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFurnishingElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFurnishingElementType::IfcFurnishingElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFurnishingElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcFurnishingElementType::IfcFurnishingElementType(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) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFurnishingElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcFurniture -bool Ifc4x3_rc4::IfcFurniture::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value Ifc4x3_rc4::IfcFurniture::PredefinedType() const { return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFurniture::setPredefinedType(::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > Ifc4x3_rc4::IfcFurniture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFurniture::declaration() const { return *IFC4X3_RC4_IfcFurniture_type; } @@ -16550,22 +16777,20 @@ Ifc4x3_rc4::IfcFurniture::IfcFurniture(IfcEntityInstanceData* e) : IfcFurnishing Ifc4x3_rc4::IfcFurniture::IfcFurniture(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::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFurniture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcFurnitureTypeEnum::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 IfcFurnitureType -::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value Ifc4x3_rc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value Ifc4x3_rc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcFurnitureType::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value Ifc4x3_rc4::IfcFurnitureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcFurnitureType::setPredefinedType(::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(v)));data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > Ifc4x3_rc4::IfcFurnitureType::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFurnitureType::declaration() const { return *IFC4X3_RC4_IfcFurnitureType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcFurnitureType::Class() { return *IFC4X3_RC4_IfcFurnitureType_type; } Ifc4x3_rc4::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData* e) : IfcFurnishingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcFurnitureType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcFurnitureType::IfcFurnitureType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFurnitureType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_AssemblyPlace,::Ifc4x3_rc4::IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace))));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcFurnitureType::IfcFurnitureType(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::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFurnitureType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_AssemblyPlace,::Ifc4x3_rc4::IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace))));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcGeographicElement -bool Ifc4x3_rc4::IfcGeographicElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value Ifc4x3_rc4::IfcGeographicElement::PredefinedType() const { return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcGeographicElement::setPredefinedType(::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcGeographicElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc4::IfcGeographicElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcGeographicElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeographicElement::declaration() const { return *IFC4X3_RC4_IfcGeographicElement_type; } @@ -16574,14 +16799,14 @@ Ifc4x3_rc4::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcGeographicElement::IfcGeographicElement(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::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeographicElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcGeographicElementTypeEnum::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 IfcGeographicElementType -::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value Ifc4x3_rc4::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value Ifc4x3_rc4::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcGeographicElementType::setPredefinedType(::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcGeographicElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeographicElementType::declaration() const { return *IFC4X3_RC4_IfcGeographicElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcGeographicElementType::Class() { return *IFC4X3_RC4_IfcGeographicElementType_type; } Ifc4x3_rc4::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcGeographicElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcGeographicElementType::IfcGeographicElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeographicElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcGeographicElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcGeographicElementType::IfcGeographicElementType(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::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeographicElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcGeographicElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcGeometricCurveSet @@ -16589,18 +16814,16 @@ Ifc4x3_rc4::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc4::IfcGeometricCurveSet::declaration() const { return *IFC4X3_RC4_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricCurveSet::Class() { return *IFC4X3_RC4_IfcGeometricCurveSet_type; } Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcGeometricCurveSet_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityList::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { return *data_->getArgument(2); } +int Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcGeometricRepresentationContext::hasPrecision() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcGeometricRepresentationContext::Precision() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcGeometricRepresentationContext::setPrecision(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +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 (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcGeometricRepresentationContext::hasTrueNorth() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcGeometricRepresentationContext::TrueNorth() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } 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(); } @@ -16620,16 +16843,14 @@ 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 (::Ifc4x3_rc4::IfcGeometricRepresentationContext*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcGeometricRepresentationContext* Ifc4x3_rc4::IfcGeometricRepresentationSubContext::ParentContext() const { return (::Ifc4x3_rc4::IfcGeometricRepresentationContext*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc4::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcGeometricRepresentationSubContext::hasTargetScale() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetScale() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setTargetScale(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc4::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } +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);} } +::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc4::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcGeometricRepresentationSubContext::hasUserDefinedTargetView() const { return !data_->getArgument(9)->isNull(); } -std::string Ifc4x3_rc4::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationSubContext::declaration() const { return *IFC4X3_RC4_IfcGeometricRepresentationSubContext_type; } @@ -16638,14 +16859,14 @@ Ifc4x3_rc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubC Ifc4x3_rc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc4::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3_rc4::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -IfcEntityList::ptr Ifc4x3_rc4::IfcGeometricSet::Elements() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcGeometricSet::setElements(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricSet::declaration() const { return *IFC4X3_RC4_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricSet::Class() { return *IFC4X3_RC4_IfcGeometricSet_type; } Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcGeometricSet_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(IfcEntityList::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -16688,43 +16909,39 @@ 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 (::Ifc4x3_rc4::IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcGradientCurve::BaseCurve() const { return (::Ifc4x3_rc4::IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcGradientCurve::setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcGradientCurve::hasEndPoint() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcGradientCurve::EndPoint() const { return (::Ifc4x3_rc4::IfcPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcGradientCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcGradientCurve::setEndPoint(::Ifc4x3_rc4::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGradientCurve::declaration() const { return *IFC4X3_RC4_IfcGradientCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcGradientCurve::Class() { return *IFC4X3_RC4_IfcGradientCurve_type; } Ifc4x3_rc4::IfcGradientCurve::IfcGradientCurve(IfcEntityInstanceData* e) : IfcCompositeCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcGradientCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcGradientCurve::IfcGradientCurve(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement* v4_EndPoint) : IfcCompositeCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGradientCurve_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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_BaseCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndPoint));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement* v4_EndPoint) : IfcCompositeCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGradientCurve_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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_BaseCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndPoint));data_->setArgument(3,attr);} } // Function implementations for IfcGrid -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::UAxes() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } -void Ifc4x3_rc4::IfcGrid::setUAxes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::VAxes() const { IfcEntityList::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } -void Ifc4x3_rc4::IfcGrid::setVAxes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcGrid::hasWAxes() const { return !data_->getArgument(9)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::WAxes() const { IfcEntityList::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } -void Ifc4x3_rc4::IfcGrid::setWAxes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcGrid::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcGridTypeEnum::Value Ifc4x3_rc4::IfcGrid::PredefinedType() const { return ::Ifc4x3_rc4::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcGrid::setPredefinedType(::Ifc4x3_rc4::IfcGridTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcGridTypeEnum::ToString(v)));data_->setArgument(10,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } +void Ifc4x3_rc4::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } +void Ifc4x3_rc4::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > Ifc4x3_rc4::IfcGrid::WAxes() 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::IfcGridAxis >(); } +void Ifc4x3_rc4::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > Ifc4x3_rc4::IfcGrid::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcGridTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGrid::declaration() const { return *IFC4X3_RC4_IfcGrid_type; } const IfcParse::entity& Ifc4x3_rc4::IfcGrid::Class() { return *IFC4X3_RC4_IfcGrid_type; } Ifc4x3_rc4::IfcGrid::IfcGrid(IfcEntityInstanceData* e) : IfcPositioningElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcGrid_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcGrid::IfcGrid(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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGrid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_UAxes)->generalize());data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_VAxes)->generalize());data_->setArgument(8,attr);} if (v10_WAxes) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_WAxes)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcGridTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcGrid::IfcGrid(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, aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGrid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_UAxes)->generalize());data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_VAxes)->generalize());data_->setArgument(8,attr);} if (v10_WAxes) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_WAxes)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcGridTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcGridAxis -bool Ifc4x3_rc4::IfcGridAxis::hasAxisTag() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcGridAxis::AxisTag() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcGridAxis::setAxisTag(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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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 { return *data_->getArgument(2); } +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);} } ::Ifc4x3_rc4::IfcGrid::list::ptr Ifc4x3_rc4::IfcGridAxis::PartOfW() const { return data_->getInverse(IFC4X3_RC4_IfcGrid_type, 9)->as(); } @@ -16738,10 +16955,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 (::Ifc4x3_rc4::IfcVirtualGridIntersection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcVirtualGridIntersection* Ifc4x3_rc4::IfcGridPlacement::PlacementLocation() const { return (::Ifc4x3_rc4::IfcVirtualGridIntersection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcGridPlacement::setPlacementLocation(::Ifc4x3_rc4::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcGridPlacement::hasPlacementRefDirection() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* Ifc4x3_rc4::IfcGridPlacement::PlacementRefDirection() const { return (::Ifc4x3_rc4::IfcGridPlacementDirectionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* Ifc4x3_rc4::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcGridPlacementDirectionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16760,9 +16976,9 @@ 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 (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcHalfSpaceSolid::BaseSurface() const { return (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } @@ -16772,9 +16988,8 @@ Ifc4x3_rc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHalfSpaceSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BaseSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AgreementFlag));data_->setArgument(1,attr);} } // Function implementations for IfcHeatExchanger -bool Ifc4x3_rc4::IfcHeatExchanger::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc4::IfcHeatExchanger::PredefinedType() const { return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcHeatExchanger::setPredefinedType(::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc4::IfcHeatExchanger::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcHeatExchanger::declaration() const { return *IFC4X3_RC4_IfcHeatExchanger_type; } @@ -16783,19 +16998,18 @@ Ifc4x3_rc4::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData* e) : IfcEn Ifc4x3_rc4::IfcHeatExchanger::IfcHeatExchanger(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::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHeatExchanger_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcHeatExchangerTypeEnum::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 IfcHeatExchangerType -::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc4::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc4::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcHeatExchangerType::setPredefinedType(::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcHeatExchangerType::declaration() const { return *IFC4X3_RC4_IfcHeatExchangerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcHeatExchangerType::Class() { return *IFC4X3_RC4_IfcHeatExchangerType_type; } Ifc4x3_rc4::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcHeatExchangerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcHeatExchangerType::IfcHeatExchangerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHeatExchangerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcHeatExchangerType::IfcHeatExchangerType(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::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHeatExchangerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcHumidifier -bool Ifc4x3_rc4::IfcHumidifier::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value Ifc4x3_rc4::IfcHumidifier::PredefinedType() const { return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcHumidifier::setPredefinedType(::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcHumidifierTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > Ifc4x3_rc4::IfcHumidifier::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcHumidifierTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcHumidifier::declaration() const { return *IFC4X3_RC4_IfcHumidifier_type; } @@ -16804,33 +17018,30 @@ Ifc4x3_rc4::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData* e) : IfcEnergyCo Ifc4x3_rc4::IfcHumidifier::IfcHumidifier(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::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHumidifier_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcHumidifierTypeEnum::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 IfcHumidifierType -::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value Ifc4x3_rc4::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value Ifc4x3_rc4::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcHumidifierType::setPredefinedType(::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcHumidifierTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcHumidifierType::declaration() const { return *IFC4X3_RC4_IfcHumidifierType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcHumidifierType::Class() { return *IFC4X3_RC4_IfcHumidifierType_type; } Ifc4x3_rc4::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcHumidifierType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcHumidifierType::IfcHumidifierType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHumidifierType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcHumidifierTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcHumidifierType::IfcHumidifierType(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::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcHumidifierType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcHumidifierTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcIShapeProfileDef -double Ifc4x3_rc4::IfcIShapeProfileDef::OverallWidth() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcIShapeProfileDef::OverallWidth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setOverallWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcIShapeProfileDef::OverallDepth() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcIShapeProfileDef::OverallDepth() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setOverallDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcIShapeProfileDef::WebThickness() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcIShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcIShapeProfileDef::FlangeThickness() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcIShapeProfileDef::hasFilletRadius() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcIShapeProfileDef::FilletRadius() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcIShapeProfileDef::setFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcIShapeProfileDef::hasFlangeEdgeRadius() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcIShapeProfileDef::FlangeEdgeRadius() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeEdgeRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcIShapeProfileDef::hasFlangeSlope() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcIShapeProfileDef::FlangeSlope() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeSlope(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcIShapeProfileDef_type; } @@ -16839,7 +17050,7 @@ Ifc4x3_rc4::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIShapeProfileDef_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_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); } if (v9_FlangeEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_FlangeEdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcImageTexture -std::string Ifc4x3_rc4::IfcImageTexture::URLReference() const { return *data_->getArgument(5); } +std::string Ifc4x3_rc4::IfcImageTexture::URLReference() const { std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcImageTexture::setURLReference(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16849,8 +17060,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 -bool Ifc4x3_rc4::IfcImpactProtectionDevice::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDevice::PredefinedType() const { return (::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcImpactProtectionDevice::setPredefinedType(::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -16860,35 +17070,23 @@ 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 (::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDeviceType::PredefinedType() const { return (::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcImpactProtectionDeviceType::declaration() const { return *IFC4X3_RC4_IfcImpactProtectionDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcImpactProtectionDeviceType::Class() { return *IFC4X3_RC4_IfcImpactProtectionDeviceType_type; } Ifc4x3_rc4::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcImpactProtectionDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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 IfcInclinedReferenceSweptAreaSolid -bool Ifc4x3_rc4::IfcInclinedReferenceSweptAreaSolid::hasFixedAxisVertical() const { return !data_->getArgument(5)->isNull(); } -bool Ifc4x3_rc4::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } - - -const IfcParse::entity& Ifc4x3_rc4::IfcInclinedReferenceSweptAreaSolid::declaration() const { return *IFC4X3_RC4_IfcInclinedReferenceSweptAreaSolid_type; } -const IfcParse::entity& Ifc4x3_rc4::IfcInclinedReferenceSweptAreaSolid::Class() { return *IFC4X3_RC4_IfcInclinedReferenceSweptAreaSolid_type; } -Ifc4x3_rc4::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(IfcEntityInstanceData* e) : IfcDirectrixDistanceSweptAreaSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcInclinedReferenceSweptAreaSolid_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc4::IfcPointByDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical) : IfcDirectrixDistanceSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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); } } +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 (::Ifc4x3_rc4::IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedColourMap::MappedTo() const { return (::Ifc4x3_rc4::IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc4::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcIndexedColourMap::hasOpacity() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcIndexedColourMap::Opacity() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcIndexedColourMap::setOpacity(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcColourRgbList* Ifc4x3_rc4::IfcIndexedColourMap::Colours() const { return (::Ifc4x3_rc4::IfcColourRgbList*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +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 (::Ifc4x3_rc4::IfcColourRgbList*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 { return *data_->getArgument(3); } +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);} } @@ -16898,23 +17096,21 @@ 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 (::Ifc4x3_rc4::IfcCartesianPointList*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCartesianPointList* Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return (::Ifc4x3_rc4::IfcCartesianPointList*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcIndexedPolyCurve::hasSegments() const { return !data_->getArgument(1)->isNull(); } -IfcEntityList::ptr Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcIndexedPolyCurve::hasSelfIntersect() const { return !data_->getArgument(2)->isNull(); } -bool Ifc4x3_rc4::IfcIndexedPolyCurve::SelfIntersect() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,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);} } +boost::optional< bool > Ifc4x3_rc4::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC4_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::Class() { return *IFC4X3_RC4_IfcIndexedPolyCurve_type; } Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIndexedPolyCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< IfcEntityList::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x3_rc4::IfcIndexedPolygonalFace::CoordIndex() const { return *data_->getArgument(0); } +std::vector< int > /*[3:?]*/ Ifc4x3_rc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcPolygonalFaceSet::list::ptr Ifc4x3_rc4::IfcIndexedPolygonalFace::ToFaceSet() const { return data_->getInverse(IFC4X3_RC4_IfcPolygonalFaceSet_type, 2)->as(); } @@ -16925,7 +17121,7 @@ Ifc4x3_rc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceDa Ifc4x3_rc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedPolygonalFace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);} } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { return *data_->getArgument(1); } +std::vector< std::vector< int > > Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16935,32 +17131,30 @@ 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 (::Ifc4x3_rc4::IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedTextureMap::MappedTo() const { return (::Ifc4x3_rc4::IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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 (::Ifc4x3_rc4::IfcTextureVertexList*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcTextureVertexList* Ifc4x3_rc4::IfcIndexedTextureMap::TexCoords() const { return (::Ifc4x3_rc4::IfcTextureVertexList*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_rc4::IfcTextureVertexList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedTextureMap::declaration() const { return *IFC4X3_RC4_IfcIndexedTextureMap_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedTextureMap::Class() { return *IFC4X3_RC4_IfcIndexedTextureMap_type; } Ifc4x3_rc4::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData* e) : IfcTextureCoordinate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIndexedTextureMap_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappedTo));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TexCoords));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappedTo));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TexCoords));data_->setArgument(2,attr);} } // Function implementations for IfcIndexedTriangleTextureMap -bool Ifc4x3_rc4::IfcIndexedTriangleTextureMap::hasTexCoordIndex() const { return !data_->getArgument(3)->isNull(); } -std::vector< std::vector< int > > Ifc4x3_rc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedTriangleTextureMap::declaration() const { return *IFC4X3_RC4_IfcIndexedTriangleTextureMap_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedTriangleTextureMap::Class() { return *IFC4X3_RC4_IfcIndexedTriangleTextureMap_type; } Ifc4x3_rc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData* e) : IfcIndexedTextureMap((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIndexedTriangleTextureMap_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedTriangleTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappedTo));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TexCoords));data_->setArgument(2,attr);} if (v4_TexCoordIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TexCoordIndex));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedTriangleTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappedTo));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TexCoords));data_->setArgument(2,attr);} if (v4_TexCoordIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TexCoordIndex));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcInterceptor -bool Ifc4x3_rc4::IfcInterceptor::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value Ifc4x3_rc4::IfcInterceptor::PredefinedType() const { return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcInterceptor::setPredefinedType(::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcInterceptorTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > Ifc4x3_rc4::IfcInterceptor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcInterceptorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcInterceptor::declaration() const { return *IFC4X3_RC4_IfcInterceptor_type; } @@ -16969,14 +17163,14 @@ Ifc4x3_rc4::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData* e) : IfcFlowTr Ifc4x3_rc4::IfcInterceptor::IfcInterceptor(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::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInterceptor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcInterceptorTypeEnum::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 IfcInterceptorType -::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value Ifc4x3_rc4::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value Ifc4x3_rc4::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcInterceptorType::setPredefinedType(::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcInterceptorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcInterceptorType::declaration() const { return *IFC4X3_RC4_IfcInterceptorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcInterceptorType::Class() { return *IFC4X3_RC4_IfcInterceptorType_type; } Ifc4x3_rc4::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData* e) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcInterceptorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcInterceptorType::IfcInterceptorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInterceptorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcInterceptorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcInterceptorType::IfcInterceptorType(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::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInterceptorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcInterceptorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcIntersectionCurve @@ -16984,60 +17178,53 @@ Ifc4x3_rc4::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc4::IfcIntersectionCurve::declaration() const { return *IFC4X3_RC4_IfcIntersectionCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIntersectionCurve::Class() { return *IFC4X3_RC4_IfcIntersectionCurve_type; } Ifc4x3_rc4::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData* e) : IfcSurfaceCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIntersectionCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc4::IfcCurve* v1_Curve3D, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIntersectionCurve_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);} } +Ifc4x3_rc4::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIntersectionCurve_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 IfcInventory -bool Ifc4x3_rc4::IfcInventory::hasPredefinedType() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcInventoryTypeEnum::Value Ifc4x3_rc4::IfcInventory::PredefinedType() const { return ::Ifc4x3_rc4::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcInventory::setPredefinedType(::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);} } -bool Ifc4x3_rc4::IfcInventory::hasJurisdiction() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcInventory::Jurisdiction() const { return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +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 (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcInventory::setJurisdiction(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcInventory::hasResponsiblePersons() const { return !data_->getArgument(7)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr Ifc4x3_rc4::IfcInventory::ResponsiblePersons() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcPerson >(); } -void Ifc4x3_rc4::IfcInventory::setResponsiblePersons(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcInventory::hasLastUpdateDate() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcInventory::LastUpdateDate() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcInventory::setLastUpdateDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcInventory::hasCurrentValue() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::CurrentValue() const { return (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +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 (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcInventory::setCurrentValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcInventory::hasOriginalValue() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::OriginalValue() const { return (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcCostValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } void Ifc4x3_rc4::IfcInventory::setOriginalValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcInventory::declaration() const { return *IFC4X3_RC4_IfcInventory_type; } const IfcParse::entity& Ifc4x3_rc4::IfcInventory::Class() { return *IFC4X3_RC4_IfcInventory_type; } Ifc4x3_rc4::IfcInventory::IfcInventory(IfcEntityInstanceData* e) : IfcGroup((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcInventory_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcInventory::IfcInventory(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< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc4::IfcActorSelect* v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc4::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc4::IfcCostValue* v11_OriginalValue) : IfcGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInventory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_PredefinedType,::Ifc4x3_rc4::IfcInventoryTypeEnum::ToString(*v6_PredefinedType))));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_Jurisdiction));data_->setArgument(6,attr);} if (v8_ResponsiblePersons) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ResponsiblePersons)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LastUpdateDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LastUpdateDate));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_CurrentValue));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_OriginalValue));data_->setArgument(10,attr);} } +Ifc4x3_rc4::IfcInventory::IfcInventory(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< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc4::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc4::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc4::IfcCostValue* v11_OriginalValue) : IfcGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcInventory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_PredefinedType,::Ifc4x3_rc4::IfcInventoryTypeEnum::ToString(*v6_PredefinedType))));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_Jurisdiction));data_->setArgument(6,attr);} if (v8_ResponsiblePersons) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ResponsiblePersons)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LastUpdateDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LastUpdateDate));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_CurrentValue));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_OriginalValue));data_->setArgument(10,attr);} } // Function implementations for IfcIrregularTimeSeries -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc4::IfcIrregularTimeSeries::Values() const { IfcEntityList::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >(); } -void Ifc4x3_rc4::IfcIrregularTimeSeries::setValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(8,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc4::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >(); } +void Ifc4x3_rc4::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeries::declaration() const { return *IFC4X3_RC4_IfcIrregularTimeSeries_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeries::Class() { return *IFC4X3_RC4_IfcIrregularTimeSeries_type; } Ifc4x3_rc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData* e) : IfcTimeSeries((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIrregularTimeSeries_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc4::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);} } +Ifc4x3_rc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc4::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 -std::string Ifc4x3_rc4::IfcIrregularTimeSeriesValue::TimeStamp() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcEntityList::ptr Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_RC4_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_RC4_IfcIrregularTimeSeriesValue_type; } Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, IfcEntityList::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox -bool Ifc4x3_rc4::IfcJunctionBox::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc4::IfcJunctionBox::PredefinedType() const { return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcJunctionBox::setPredefinedType(::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc4::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcJunctionBox::declaration() const { return *IFC4X3_RC4_IfcJunctionBox_type; } @@ -17046,17 +17233,17 @@ Ifc4x3_rc4::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData* e) : IfcFlowFi Ifc4x3_rc4::IfcJunctionBox::IfcJunctionBox(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::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcJunctionBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcJunctionBoxTypeEnum::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 IfcJunctionBoxType -::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc4::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc4::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcJunctionBoxType::setPredefinedType(::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcJunctionBoxType::declaration() const { return *IFC4X3_RC4_IfcJunctionBoxType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcJunctionBoxType::Class() { return *IFC4X3_RC4_IfcJunctionBoxType_type; } Ifc4x3_rc4::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcJunctionBoxType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcJunctionBoxType::IfcJunctionBoxType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcJunctionBoxType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcJunctionBoxType::IfcJunctionBoxType(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::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcJunctionBoxType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcKerb -bool Ifc4x3_rc4::IfcKerb::Mountable() const { return *data_->getArgument(8); } +bool Ifc4x3_rc4::IfcKerb::Mountable() const { bool v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcKerb::setMountable(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -17066,32 +17253,28 @@ Ifc4x3_rc4::IfcKerb::IfcKerb(IfcEntityInstanceData* e) : IfcBuiltElement((IfcEnt Ifc4x3_rc4::IfcKerb::IfcKerb(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, bool v9_Mountable) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcKerb_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_Mountable));data_->setArgument(8,attr);} } // Function implementations for IfcKerbType -bool Ifc4x3_rc4::IfcKerbType::Mountable() const { return *data_->getArgument(9); } +bool Ifc4x3_rc4::IfcKerbType::Mountable() const { bool v = *data_->getArgument(9); return v; } void Ifc4x3_rc4::IfcKerbType::setMountable(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcKerbType::declaration() const { return *IFC4X3_RC4_IfcKerbType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcKerbType::Class() { return *IFC4X3_RC4_IfcKerbType_type; } Ifc4x3_rc4::IfcKerbType::IfcKerbType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcKerbType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcKerbType::IfcKerbType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcKerbType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_Mountable));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcKerbType::IfcKerbType(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, bool v10_Mountable) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcKerbType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_Mountable));data_->setArgument(9,attr);} } // Function implementations for IfcLShapeProfileDef -double Ifc4x3_rc4::IfcLShapeProfileDef::Depth() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcLShapeProfileDef::hasWidth() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcLShapeProfileDef::Width() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcLShapeProfileDef::setWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcLShapeProfileDef::Thickness() const { return *data_->getArgument(5); } +boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +double Ifc4x3_rc4::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcLShapeProfileDef::hasFilletRadius() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcLShapeProfileDef::FilletRadius() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcLShapeProfileDef::setFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcLShapeProfileDef::hasEdgeRadius() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcLShapeProfileDef::EdgeRadius() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcLShapeProfileDef::setEdgeRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcLShapeProfileDef::hasLegSlope() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcLShapeProfileDef::LegSlope() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcLShapeProfileDef::setLegSlope(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcLShapeProfileDef_type; } @@ -17100,30 +17283,29 @@ Ifc4x3_rc4::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLShapeProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} if (v5_Width) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Width));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_Thickness));data_->setArgument(5,attr);} if (v7_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_FilletRadius));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EdgeRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LegSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LegSlope));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcLaborResource -bool Ifc4x3_rc4::IfcLaborResource::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value Ifc4x3_rc4::IfcLaborResource::PredefinedType() const { return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcLaborResource::setPredefinedType(::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLaborResourceTypeEnum::ToString(v)));data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc4::IfcLaborResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLaborResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLaborResource::declaration() const { return *IFC4X3_RC4_IfcLaborResource_type; } const IfcParse::entity& Ifc4x3_rc4::IfcLaborResource::Class() { return *IFC4X3_RC4_IfcLaborResource_type; } Ifc4x3_rc4::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcLaborResource_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcLaborResource::IfcLaborResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLaborResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcLaborResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcLaborResource::IfcLaborResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLaborResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcLaborResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcLaborResourceType -::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value Ifc4x3_rc4::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(11)); } +::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value Ifc4x3_rc4::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcLaborResourceType::setPredefinedType(::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLaborResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLaborResourceType::declaration() const { return *IFC4X3_RC4_IfcLaborResourceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcLaborResourceType::Class() { return *IFC4X3_RC4_IfcLaborResourceType_type; } Ifc4x3_rc4::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcLaborResourceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = 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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcTimeOrRatioSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcTimeOrRatioSelect* Ifc4x3_rc4::IfcLagTime::LagValue() const { return (::Ifc4x3_rc4::IfcTimeOrRatioSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } 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)); } +::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);} } @@ -17133,9 +17315,8 @@ Ifc4x3_rc4::IfcLagTime::IfcLagTime(IfcEntityInstanceData* e) : IfcSchedulingTime Ifc4x3_rc4::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_rc4::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLagTime_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_LagValue));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_DurationType,::Ifc4x3_rc4::IfcTaskDurationEnum::ToString(v5_DurationType))));data_->setArgument(4,attr);} } // Function implementations for IfcLamp -bool Ifc4x3_rc4::IfcLamp::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcLampTypeEnum::Value Ifc4x3_rc4::IfcLamp::PredefinedType() const { return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcLamp::setPredefinedType(::Ifc4x3_rc4::IfcLampTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLampTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > Ifc4x3_rc4::IfcLamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLamp::declaration() const { return *IFC4X3_RC4_IfcLamp_type; } @@ -17144,33 +17325,28 @@ Ifc4x3_rc4::IfcLamp::IfcLamp(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEnt Ifc4x3_rc4::IfcLamp::IfcLamp(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::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLamp_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcLampTypeEnum::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 IfcLampType -::Ifc4x3_rc4::IfcLampTypeEnum::Value Ifc4x3_rc4::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcLampTypeEnum::Value Ifc4x3_rc4::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcLampType::setPredefinedType(::Ifc4x3_rc4::IfcLampTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLampTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLampType::declaration() const { return *IFC4X3_RC4_IfcLampType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcLampType::Class() { return *IFC4X3_RC4_IfcLampType_type; } Ifc4x3_rc4::IfcLampType::IfcLampType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcLampType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcLampType::IfcLampType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLampType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcLampTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcLampType::IfcLampType(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::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLampType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcLampTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcLibraryInformation -std::string Ifc4x3_rc4::IfcLibraryInformation::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcLibraryInformation::hasVersion() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcLibraryInformation::Version() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcLibraryInformation::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcLibraryInformation::hasPublisher() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcLibraryInformation::Publisher() const { return (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +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 (::Ifc4x3_rc4::IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcLibraryInformation::setPublisher(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcLibraryInformation::hasVersionDate() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcLibraryInformation::VersionDate() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcLibraryInformation::setVersionDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcLibraryInformation::hasLocation() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcLibraryInformation::Location() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcLibraryInformation::setLocation(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcLibraryInformation::hasDescription() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcLibraryInformation::Description() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcLibraryInformation::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Location() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Description() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc4::IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesLibrary_type, 5)->as(); } ::Ifc4x3_rc4::IfcLibraryReference::list::ptr Ifc4x3_rc4::IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IFC4X3_RC4_IfcLibraryReference_type, 5)->as(); } @@ -17181,14 +17357,11 @@ Ifc4x3_rc4::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData* Ifc4x3_rc4::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_rc4::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLibraryInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Version) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Version));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_Publisher));data_->setArgument(2,attr);} if (v4_VersionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_VersionDate));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Location));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Description));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcLibraryReference -bool Ifc4x3_rc4::IfcLibraryReference::hasDescription() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcLibraryReference::Description() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcLibraryReference::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcLibraryReference::hasLanguage() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcLibraryReference::Language() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcLibraryReference::setLanguage(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcLibraryReference::hasReferencedLibrary() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcLibraryReference::ReferencedLibrary() const { return (::Ifc4x3_rc4::IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +boost::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +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 (::Ifc4x3_rc4::IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } 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(); } @@ -17199,11 +17372,11 @@ Ifc4x3_rc4::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcLibraryReference::IfcLibraryReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Language, ::Ifc4x3_rc4::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLibraryReference_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); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Language) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Language));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_ReferencedLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcLightDistributionData -double Ifc4x3_rc4::IfcLightDistributionData::MainPlaneAngle() const { return *data_->getArgument(0); } +double Ifc4x3_rc4::IfcLightDistributionData::MainPlaneAngle() const { double v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcLightDistributionData::setMainPlaneAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcLightDistributionData::SecondaryPlaneAngle() const { return *data_->getArgument(1); } +std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcLightDistributionData::LuminousIntensity() const { return *data_->getArgument(2); } +std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17213,9 +17386,8 @@ Ifc4x3_rc4::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstance Ifc4x3_rc4::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightDistributionData_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MainPlaneAngle));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SecondaryPlaneAngle));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LuminousIntensity));data_->setArgument(2,attr);} } // Function implementations for IfcLightFixture -bool Ifc4x3_rc4::IfcLightFixture::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value Ifc4x3_rc4::IfcLightFixture::PredefinedType() const { return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcLightFixture::setPredefinedType(::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLightFixtureTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc4::IfcLightFixture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLightFixtureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLightFixture::declaration() const { return *IFC4X3_RC4_IfcLightFixture_type; } @@ -17224,39 +17396,36 @@ Ifc4x3_rc4::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData* e) : IfcFlow Ifc4x3_rc4::IfcLightFixture::IfcLightFixture(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::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightFixture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcLightFixtureTypeEnum::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 IfcLightFixtureType -::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value Ifc4x3_rc4::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value Ifc4x3_rc4::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcLightFixtureType::setPredefinedType(::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLightFixtureTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLightFixtureType::declaration() const { return *IFC4X3_RC4_IfcLightFixtureType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcLightFixtureType::Class() { return *IFC4X3_RC4_IfcLightFixtureType_type; } Ifc4x3_rc4::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcLightFixtureType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcLightFixtureType::IfcLightFixtureType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightFixtureType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcLightFixtureTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcLightFixtureType::IfcLightFixtureType(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::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightFixtureType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcLightFixtureTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcLightIntensityDistribution -::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value Ifc4x3_rc4::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::FromString(*data_->getArgument(0)); } +::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value Ifc4x3_rc4::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLightDistributionCurveEnum::ToString(v)));data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr Ifc4x3_rc4::IfcLightIntensityDistribution::DistributionData() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcLightDistributionData >(); } -void Ifc4x3_rc4::IfcLightIntensityDistribution::setDistributionData(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr Ifc4x3_rc4::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcLightDistributionData >(); } +void Ifc4x3_rc4::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLightIntensityDistribution::declaration() const { return *IFC4X3_RC4_IfcLightIntensityDistribution_type; } const IfcParse::entity& Ifc4x3_rc4::IfcLightIntensityDistribution::Class() { return *IFC4X3_RC4_IfcLightIntensityDistribution_type; } Ifc4x3_rc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcLightIntensityDistribution_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightIntensityDistribution_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_LightDistributionCurve,::Ifc4x3_rc4::IfcLightDistributionCurveEnum::ToString(v1_LightDistributionCurve))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_DistributionData)->generalize());data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightIntensityDistribution_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_LightDistributionCurve,::Ifc4x3_rc4::IfcLightDistributionCurveEnum::ToString(v1_LightDistributionCurve))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_DistributionData)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcLightSource -bool Ifc4x3_rc4::IfcLightSource::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcLightSource::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcLightSource::setName(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 (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +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 (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcLightSource::setLightColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcLightSource::hasAmbientIntensity() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcLightSource::AmbientIntensity() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcLightSource::setAmbientIntensity(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcLightSource::hasIntensity() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcLightSource::Intensity() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcLightSource::setIntensity(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,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);} } +boost::optional< double > Ifc4x3_rc4::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLightSource::declaration() const { return *IFC4X3_RC4_IfcLightSource_type; } @@ -17273,7 +17442,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 (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceDirectional::Orientation() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcLightSourceDirectional::setOrientation(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17283,18 +17452,17 @@ 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 (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLightSourceGoniometric::Position() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcLightSourceGoniometric::hasColourAppearance() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSourceGoniometric::ColourAppearance() const { return (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } 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 { return *data_->getArgument(6); } +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);} } -double Ifc4x3_rc4::IfcLightSourceGoniometric::LuminousFlux() const { return *data_->getArgument(7); } +double Ifc4x3_rc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = *data_->getArgument(7); return 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)); } +::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 (::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect* Ifc4x3_rc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return (::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17304,15 +17472,15 @@ 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 (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLightSourcePositional::Position() const { return (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 { return *data_->getArgument(5); } +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);} } -double Ifc4x3_rc4::IfcLightSourcePositional::ConstantAttenuation() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcLightSourcePositional::ConstantAttenuation() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcLightSourcePositional::setConstantAttenuation(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -double Ifc4x3_rc4::IfcLightSourcePositional::DistanceAttenuation() const { return *data_->getArgument(7); } +double Ifc4x3_rc4::IfcLightSourcePositional::DistanceAttenuation() const { double v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcLightSourcePositional::setDistanceAttenuation(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -double Ifc4x3_rc4::IfcLightSourcePositional::QuadricAttenuation() const { return *data_->getArgument(8); } +double Ifc4x3_rc4::IfcLightSourcePositional::QuadricAttenuation() const { double v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcLightSourcePositional::setQuadricAttenuation(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -17322,14 +17490,13 @@ 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 (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceSpot::Orientation() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcLightSourceSpot::hasConcentrationExponent() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcLightSourceSpot::ConcentrationExponent() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcLightSourceSpot::setConcentrationExponent(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -double Ifc4x3_rc4::IfcLightSourceSpot::SpreadAngle() const { return *data_->getArgument(11); } +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);} } +double Ifc4x3_rc4::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc4x3_rc4::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -double Ifc4x3_rc4::IfcLightSourceSpot::BeamWidthAngle() const { return *data_->getArgument(12); } +double Ifc4x3_rc4::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } void Ifc4x3_rc4::IfcLightSourceSpot::setBeamWidthAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } @@ -17339,9 +17506,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 (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLine::Pnt() const { return (::Ifc4x3_rc4::IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcVector*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcVector* Ifc4x3_rc4::IfcLine::Dir() const { return (::Ifc4x3_rc4::IfcVector*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcLine::setDir(::Ifc4x3_rc4::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17359,10 +17526,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 (::Ifc4x3_rc4::IfcAxis2PlacementLinear*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcAxis2PlacementLinear* Ifc4x3_rc4::IfcLinearPlacement::RelativePlacement() const { return (::Ifc4x3_rc4::IfcAxis2PlacementLinear*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_rc4::IfcAxis2PlacementLinear* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcLinearPlacement::hasCartesianPosition() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLinearPlacement::CartesianPosition() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17380,9 +17546,8 @@ Ifc4x3_rc4::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityIn Ifc4x3_rc4::IfcLinearPositioningElement::IfcLinearPositioningElement(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) : IfcPositioningElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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);} } // Function implementations for IfcLiquidTerminal -bool Ifc4x3_rc4::IfcLiquidTerminal::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc4::IfcLiquidTerminal::PredefinedType() const { return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcLiquidTerminal::setPredefinedType(::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc4::IfcLiquidTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLiquidTerminal::declaration() const { return *IFC4X3_RC4_IfcLiquidTerminal_type; } @@ -17391,17 +17556,17 @@ Ifc4x3_rc4::IfcLiquidTerminal::IfcLiquidTerminal(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcLiquidTerminal::IfcLiquidTerminal(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::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLiquidTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcLiquidTerminalTypeEnum::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 IfcLiquidTerminalType -::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc4::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc4::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcLiquidTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLiquidTerminalType::declaration() const { return *IFC4X3_RC4_IfcLiquidTerminalType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcLiquidTerminalType::Class() { return *IFC4X3_RC4_IfcLiquidTerminalType_type; } Ifc4x3_rc4::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcLiquidTerminalType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcLocalPlacement::RelativePlacement() const { return (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17419,7 +17584,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 (::Ifc4x3_rc4::IfcClosedShell*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcClosedShell* Ifc4x3_rc4::IfcManifoldSolidBrep::Outer() const { return (::Ifc4x3_rc4::IfcClosedShell*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcManifoldSolidBrep::setOuter(::Ifc4x3_rc4::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -17429,27 +17594,22 @@ Ifc4x3_rc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_rc4::IfcClosedShell* v1_Outer) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcManifoldSolidBrep_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);} } // Function implementations for IfcMapConversion -double Ifc4x3_rc4::IfcMapConversion::Eastings() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcMapConversion::Eastings() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcMapConversion::setEastings(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -double Ifc4x3_rc4::IfcMapConversion::Northings() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcMapConversion::Northings() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcMapConversion::setNorthings(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcMapConversion::OrthogonalHeight() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcMapConversion::OrthogonalHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcMapConversion::setOrthogonalHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcMapConversion::hasXAxisAbscissa() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcMapConversion::XAxisAbscissa() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcMapConversion::setXAxisAbscissa(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcMapConversion::hasXAxisOrdinate() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcMapConversion::XAxisOrdinate() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcMapConversion::setXAxisOrdinate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcMapConversion::hasScale() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcMapConversion::Scale() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcMapConversion::setScale(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcMapConversion::hasScaleY() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcMapConversion::ScaleY() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcMapConversion::setScaleY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcMapConversion::hasScaleZ() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcMapConversion::ScaleZ() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcMapConversion::setScaleZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::XAxisAbscissa() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::XAxisOrdinate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::Scale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::ScaleY() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcMapConversion::setScaleY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::ScaleZ() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcMapConversion::setScaleZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMapConversion::declaration() const { return *IFC4X3_RC4_IfcMapConversion_type; } @@ -17458,9 +17618,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 (::Ifc4x3_rc4::IfcRepresentationMap*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcRepresentationMap* Ifc4x3_rc4::IfcMappedItem::MappingSource() const { return (::Ifc4x3_rc4::IfcRepresentationMap*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcCartesianTransformationOperator*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator* Ifc4x3_rc4::IfcMappedItem::MappingTarget() const { return (::Ifc4x3_rc4::IfcCartesianTransformationOperator*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcMappedItem::setMappingTarget(::Ifc4x3_rc4::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17470,9 +17630,8 @@ Ifc4x3_rc4::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData* e) : IfcRepresen Ifc4x3_rc4::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc4::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc4::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMappedItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappingSource));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappingTarget));data_->setArgument(1,attr);} } // Function implementations for IfcMarineFacility -bool Ifc4x3_rc4::IfcMarineFacility::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc4::IfcMarineFacility::PredefinedType() const { return ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcMarineFacility::setPredefinedType(::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc4::IfcMarineFacility::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMarineFacility::declaration() const { return *IFC4X3_RC4_IfcMarineFacility_type; } @@ -17481,14 +17640,12 @@ Ifc4x3_rc4::IfcMarineFacility::IfcMarineFacility(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcMarineFacility::IfcMarineFacility(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, boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMarineFacility_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcMaterial -std::string Ifc4x3_rc4::IfcMaterial::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcMaterial::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcMaterial::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterial::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcMaterial::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcMaterial::hasCategory() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterial::Category() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcMaterial::setCategory(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterial::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterial::Category() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_rc4::IfcMaterial::HasRepresentation() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialDefinitionRepresentation_type, 3)->as(); } ::Ifc4x3_rc4::IfcMaterialRelationship::list::ptr Ifc4x3_rc4::IfcMaterial::IsRelatedWith() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialRelationship_type, 3)->as(); } @@ -17500,32 +17657,28 @@ Ifc4x3_rc4::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefi Ifc4x3_rc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -IfcEntityList::ptr Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setMaterialClassifications(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +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 (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_RC4_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_RC4_IfcMaterialClassificationRelationship_type; } Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityList::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 IfcMaterialConstituent -bool Ifc4x3_rc4::IfcMaterialConstituent::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialConstituent::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcMaterialConstituent::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcMaterialConstituent::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialConstituent::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcMaterialConstituent::setDescription(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 (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +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 (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcMaterialConstituent::hasFraction() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcMaterialConstituent::Fraction() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcMaterialConstituent::setFraction(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcMaterialConstituent::hasCategory() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialConstituent::Category() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcMaterialConstituent::setCategory(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Category() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcMaterialConstituentSet::list::ptr Ifc4x3_rc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialConstituentSet_type, 2)->as(); } @@ -17535,21 +17688,18 @@ Ifc4x3_rc4::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData Ifc4x3_rc4::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialConstituent_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);} if (v4_Fraction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Fraction));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Category));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMaterialConstituentSet -bool Ifc4x3_rc4::IfcMaterialConstituentSet::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialConstituentSet::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcMaterialConstituentSet::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcMaterialConstituentSet::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialConstituentSet::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcMaterialConstituentSet::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcMaterialConstituentSet::hasMaterialConstituents() const { return !data_->getArgument(2)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr Ifc4x3_rc4::IfcMaterialConstituentSet::MaterialConstituents() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcMaterialConstituent >(); } -void Ifc4x3_rc4::IfcMaterialConstituentSet::setMaterialConstituents(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcMaterialConstituentSet::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::IfcMaterialConstituentSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > Ifc4x3_rc4::IfcMaterialConstituentSet::MaterialConstituents() 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::IfcMaterialConstituent >(); } +void Ifc4x3_rc4::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituentSet::declaration() const { return *IFC4X3_RC4_IfcMaterialConstituentSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituentSet::Class() { return *IFC4X3_RC4_IfcMaterialConstituentSet_type; } Ifc4x3_rc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialConstituentSet_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialConstituentSet_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); } if (v3_MaterialConstituents) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_MaterialConstituents)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialConstituentSet_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); } if (v3_MaterialConstituents) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_MaterialConstituents)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialDefinition @@ -17563,72 +17713,63 @@ 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 (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::declaration() const { return *IFC4X3_RC4_IfcMaterialDefinitionRepresentation_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::Class() { return *IFC4X3_RC4_IfcMaterialDefinitionRepresentation_type; } Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData* e) : IfcProductRepresentation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialDefinitionRepresentation_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::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);} } +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 -bool Ifc4x3_rc4::IfcMaterialLayer::hasMaterial() const { return !data_->getArgument(0)->isNull(); } -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialLayer::Material() const { return (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } -bool Ifc4x3_rc4::IfcMaterialLayer::hasIsVentilated() const { return !data_->getArgument(2)->isNull(); } -bool Ifc4x3_rc4::IfcMaterialLayer::IsVentilated() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcMaterialLayer::setIsVentilated(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcMaterialLayer::hasName() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialLayer::Name() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcMaterialLayer::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcMaterialLayer::hasDescription() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialLayer::Description() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcMaterialLayer::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcMaterialLayer::hasCategory() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialLayer::Category() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcMaterialLayer::setCategory(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcMaterialLayer::hasPriority() const { return !data_->getArgument(6)->isNull(); } -int Ifc4x3_rc4::IfcMaterialLayer::Priority() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcMaterialLayer::setPriority(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< boost::logic::tribool > Ifc4x3_rc4::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< int > Ifc4x3_rc4::IfcMaterialLayer::Priority() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcMaterialLayerSet::list::ptr Ifc4x3_rc4::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialLayerSet_type, 0)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayer::declaration() const { return *IFC4X3_RC4_IfcMaterialLayer_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayer::Class() { return *IFC4X3_RC4_IfcMaterialLayer_type; } Ifc4x3_rc4::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialLayer_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc4::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< int > v7_Priority) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialLayer_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Material));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LayerThickness));data_->setArgument(1,attr);} if (v3_IsVentilated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_IsVentilated));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Name));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); 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_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); } if (v7_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Priority));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } +Ifc4x3_rc4::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc4::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< boost::logic::tribool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< int > v7_Priority) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialLayer_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Material));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LayerThickness));data_->setArgument(1,attr);} if (v3_IsVentilated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_IsVentilated));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Name));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); 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_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); } if (v7_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Priority));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcMaterialLayerSet -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr Ifc4x3_rc4::IfcMaterialLayerSet::MaterialLayers() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcMaterialLayer >(); } -void Ifc4x3_rc4::IfcMaterialLayerSet::setMaterialLayers(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcMaterialLayerSet::hasLayerSetName() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialLayerSet::LayerSetName() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcMaterialLayerSet::setLayerSetName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcMaterialLayerSet::hasDescription() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialLayerSet::Description() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcMaterialLayerSet::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr Ifc4x3_rc4::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcMaterialLayer >(); } +void Ifc4x3_rc4::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerSet::declaration() const { return *IFC4X3_RC4_IfcMaterialLayerSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerSet::Class() { return *IFC4X3_RC4_IfcMaterialLayerSet_type; } Ifc4x3_rc4::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialLayerSet_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcTemplatedEntityList< ::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); } } +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 (::Ifc4x3_rc4::IfcMaterialLayerSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcMaterialLayerSet* Ifc4x3_rc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return (::Ifc4x3_rc4::IfcMaterialLayerSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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)); } +::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);} } -::Ifc4x3_rc4::IfcDirectionSenseEnum::Value Ifc4x3_rc4::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc4::IfcDirectionSenseEnum::FromString(*data_->getArgument(2)); } +::Ifc4x3_rc4::IfcDirectionSenseEnum::Value Ifc4x3_rc4::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc4::IfcDirectionSenseEnum::FromString(*data_->getArgument(2)); } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_rc4::IfcDirectionSenseEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDirectionSenseEnum::ToString(v)));data_->setArgument(2,attr);} } -double Ifc4x3_rc4::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcMaterialLayerSetUsage::hasReferenceExtent() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcMaterialLayerSetUsage::ReferenceExtent() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setReferenceExtent(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerSetUsage::declaration() const { return *IFC4X3_RC4_IfcMaterialLayerSetUsage_type; } @@ -17637,45 +17778,40 @@ Ifc4x3_rc4::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstance Ifc4x3_rc4::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_rc4::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialLayerSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForLayerSet));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_LayerSetDirection,::Ifc4x3_rc4::IfcLayerSetDirectionEnum::ToString(v2_LayerSetDirection))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_DirectionSense,::Ifc4x3_rc4::IfcDirectionSenseEnum::ToString(v3_DirectionSense))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_OffsetFromReferenceLine));data_->setArgument(3,attr);} if (v5_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ReferenceExtent));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(7)); } +::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(7,attr);} } -std::vector< double > /*[1:2]*/ Ifc4x3_rc4::IfcMaterialLayerWithOffsets::OffsetValues() const { return *data_->getArgument(8); } +std::vector< double > /*[1:2]*/ Ifc4x3_rc4::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerWithOffsets::declaration() const { return *IFC4X3_RC4_IfcMaterialLayerWithOffsets_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerWithOffsets::Class() { return *IFC4X3_RC4_IfcMaterialLayerWithOffsets_type; } Ifc4x3_rc4::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData* e) : IfcMaterialLayer((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialLayerWithOffsets_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_rc4::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< int > v7_Priority, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialLayerWithOffsets_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Material));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LayerThickness));data_->setArgument(1,attr);} if (v3_IsVentilated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_IsVentilated));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Name));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); 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_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); } if (v7_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Priority));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((IfcWrite::IfcWriteArgument::EnumerationReference(v8_OffsetDirection,::Ifc4x3_rc4::IfcLayerSetDirectionEnum::ToString(v8_OffsetDirection))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_OffsetValues));data_->setArgument(8,attr);} } +Ifc4x3_rc4::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_rc4::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< boost::logic::tribool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< int > v7_Priority, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialLayerWithOffsets_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Material));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LayerThickness));data_->setArgument(1,attr);} if (v3_IsVentilated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_IsVentilated));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Name));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); 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_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); } if (v7_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Priority));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((IfcWrite::IfcWriteArgument::EnumerationReference(v8_OffsetDirection,::Ifc4x3_rc4::IfcLayerSetDirectionEnum::ToString(v8_OffsetDirection))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_OffsetValues));data_->setArgument(8,attr);} } // Function implementations for IfcMaterialList -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr Ifc4x3_rc4::IfcMaterialList::Materials() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcMaterial >(); } -void Ifc4x3_rc4::IfcMaterialList::setMaterials(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr Ifc4x3_rc4::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcMaterial >(); } +void Ifc4x3_rc4::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialList::declaration() const { return *IFC4X3_RC4_IfcMaterialList_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialList::Class() { return *IFC4X3_RC4_IfcMaterialList_type; } Ifc4x3_rc4::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialList_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialList::IfcMaterialList(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialList_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Materials)->generalize());data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialList_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Materials)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcMaterialProfile -bool Ifc4x3_rc4::IfcMaterialProfile::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialProfile::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcMaterialProfile::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcMaterialProfile::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialProfile::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcMaterialProfile::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcMaterialProfile::hasMaterial() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialProfile::Material() const { return (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +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 (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcMaterialProfile::Profile() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcMaterialProfile::setProfile(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcMaterialProfile::hasPriority() const { return !data_->getArgument(4)->isNull(); } -int Ifc4x3_rc4::IfcMaterialProfile::Priority() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcMaterialProfile::setPriority(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcMaterialProfile::hasCategory() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialProfile::Category() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcMaterialProfile::setCategory(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcMaterialProfileSet::list::ptr Ifc4x3_rc4::IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialProfileSet_type, 2)->as(); } @@ -17685,33 +17821,28 @@ Ifc4x3_rc4::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcMaterialProfile::IfcMaterialProfile(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) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialProfile_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); } } // Function implementations for IfcMaterialProfileSet -bool Ifc4x3_rc4::IfcMaterialProfileSet::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialProfileSet::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcMaterialProfileSet::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcMaterialProfileSet::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialProfileSet::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcMaterialProfileSet::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr Ifc4x3_rc4::IfcMaterialProfileSet::MaterialProfiles() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcMaterialProfile >(); } -void Ifc4x3_rc4::IfcMaterialProfileSet::setMaterialProfiles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcMaterialProfileSet::hasCompositeProfile() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcCompositeProfileDef* Ifc4x3_rc4::IfcMaterialProfileSet::CompositeProfile() const { return (::Ifc4x3_rc4::IfcCompositeProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcMaterialProfileSet::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::IfcMaterialProfileSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +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 (::Ifc4x3_rc4::IfcCompositeProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_rc4::IfcCompositeProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSet::declaration() const { return *IFC4X3_RC4_IfcMaterialProfileSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSet::Class() { return *IFC4X3_RC4_IfcMaterialProfileSet_type; } Ifc4x3_rc4::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialProfileSet_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcMaterialProfileSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return (::Ifc4x3_rc4::IfcMaterialProfileSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcMaterialProfileSetUsage::hasCardinalPoint() const { return !data_->getArgument(1)->isNull(); } -int Ifc4x3_rc4::IfcMaterialProfileSetUsage::CardinalPoint() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setCardinalPoint(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcMaterialProfileSetUsage::hasReferenceExtent() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcMaterialProfileSetUsage::ReferenceExtent() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setReferenceExtent(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,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);} } +boost::optional< double > Ifc4x3_rc4::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsage::declaration() const { return *IFC4X3_RC4_IfcMaterialProfileSetUsage_type; } @@ -17720,11 +17851,10 @@ 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 (::Ifc4x3_rc4::IfcMaterialProfileSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return (::Ifc4x3_rc4::IfcMaterialProfileSet*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::hasCardinalEndPoint() const { return !data_->getArgument(4)->isNull(); } -int Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::declaration() const { return *IFC4X3_RC4_IfcMaterialProfileSetUsageTapering_type; } @@ -17733,7 +17863,7 @@ Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTaperi Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_rc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc4::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialProfileSetUsageTapering_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ForProfileEndSet));data_->setArgument(3,attr);} if (v5_CardinalEndPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_CardinalEndPoint));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x3_rc4::IfcMaterialProfileWithOffsets::OffsetValues() const { return *data_->getArgument(6); } +std::vector< double > /*[1:2]*/ Ifc4x3_rc4::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17743,29 +17873,28 @@ 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 (::Ifc4x3_rc4::IfcMaterialDefinition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcMaterialDefinition* Ifc4x3_rc4::IfcMaterialProperties::Material() const { return (::Ifc4x3_rc4::IfcMaterialDefinition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcMaterialProperties::setMaterial(::Ifc4x3_rc4::IfcMaterialDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProperties::declaration() const { return *IFC4X3_RC4_IfcMaterialProperties_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProperties::Class() { return *IFC4X3_RC4_IfcMaterialProperties_type; } Ifc4x3_rc4::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* e) : IfcExtendedProperties((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialProperties_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialRelationship::RelatingMaterial() const { return (::Ifc4x3_rc4::IfcMaterial*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr Ifc4x3_rc4::IfcMaterialRelationship::RelatedMaterials() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcMaterial >(); } -void Ifc4x3_rc4::IfcMaterialRelationship::setRelatedMaterials(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcMaterialRelationship::hasExpression() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcMaterialRelationship::Expression() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcMaterialRelationship::setExpression(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialRelationship::declaration() const { return *IFC4X3_RC4_IfcMaterialRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialRelationship::Class() { return *IFC4X3_RC4_IfcMaterialRelationship_type; } Ifc4x3_rc4::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMaterialRelationship_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial* v3_RelatingMaterial, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialRelationship_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_RelatingMaterial));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedMaterials)->generalize());data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } +Ifc4x3_rc4::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialRelationship_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_RelatingMaterial));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedMaterials)->generalize());data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMaterialUsageDefinition @@ -17777,9 +17906,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 (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcMeasureWithUnit::ValueComponent() const { return (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcMeasureWithUnit::UnitComponent() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17789,15 +17918,12 @@ Ifc4x3_rc4::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc4::IfcValue* v1_ValueComponent, ::Ifc4x3_rc4::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMeasureWithUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ValueComponent));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_UnitComponent));data_->setArgument(1,attr);} } // Function implementations for IfcMechanicalFastener -bool Ifc4x3_rc4::IfcMechanicalFastener::hasNominalDiameter() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcMechanicalFastener::NominalDiameter() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcMechanicalFastener::setNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcMechanicalFastener::hasNominalLength() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcMechanicalFastener::NominalLength() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcMechanicalFastener::setNominalLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcMechanicalFastener::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc4::IfcMechanicalFastener::PredefinedType() const { return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcMechanicalFastener::setPredefinedType(::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc4::IfcMechanicalFastener::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMechanicalFastener::declaration() const { return *IFC4X3_RC4_IfcMechanicalFastener_type; } @@ -17806,25 +17932,22 @@ Ifc4x3_rc4::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData* Ifc4x3_rc4::IfcMechanicalFastener::IfcMechanicalFastener(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< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMechanicalFastener_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_NominalDiameter));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_NominalLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_NominalLength));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcMechanicalFastenerType -::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcMechanicalFastenerType::hasNominalDiameter() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcMechanicalFastenerType::NominalDiameter() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcMechanicalFastenerType::hasNominalLength() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcMechanicalFastenerType::NominalLength() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastenerType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastenerType::NominalLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMechanicalFastenerType::declaration() const { return *IFC4X3_RC4_IfcMechanicalFastenerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMechanicalFastenerType::Class() { return *IFC4X3_RC4_IfcMechanicalFastenerType_type; } Ifc4x3_rc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMechanicalFastenerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMechanicalFastenerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMechanicalFastenerTypeEnum::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_NominalLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_NominalLength));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } +Ifc4x3_rc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(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::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMechanicalFastenerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMechanicalFastenerTypeEnum::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_NominalLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_NominalLength));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } // Function implementations for IfcMedicalDevice -bool Ifc4x3_rc4::IfcMedicalDevice::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc4::IfcMedicalDevice::PredefinedType() const { return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMedicalDevice::setPredefinedType(::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMedicalDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMedicalDevice::declaration() const { return *IFC4X3_RC4_IfcMedicalDevice_type; } @@ -17833,19 +17956,18 @@ Ifc4x3_rc4::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData* e) : IfcFl Ifc4x3_rc4::IfcMedicalDevice::IfcMedicalDevice(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::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMedicalDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMedicalDeviceTypeEnum::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 IfcMedicalDeviceType -::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc4::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc4::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcMedicalDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMedicalDeviceType::declaration() const { return *IFC4X3_RC4_IfcMedicalDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMedicalDeviceType::Class() { return *IFC4X3_RC4_IfcMedicalDeviceType_type; } Ifc4x3_rc4::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMedicalDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMedicalDeviceType::IfcMedicalDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMedicalDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMedicalDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcMedicalDeviceType::IfcMedicalDeviceType(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::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMedicalDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMedicalDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcMember -bool Ifc4x3_rc4::IfcMember::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcMemberTypeEnum::Value Ifc4x3_rc4::IfcMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMember::setPredefinedType(::Ifc4x3_rc4::IfcMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMemberTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > Ifc4x3_rc4::IfcMember::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMemberTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMember::declaration() const { return *IFC4X3_RC4_IfcMember_type; } @@ -17862,26 +17984,23 @@ Ifc4x3_rc4::IfcMemberStandardCase::IfcMemberStandardCase(IfcEntityInstanceData* Ifc4x3_rc4::IfcMemberStandardCase::IfcMemberStandardCase(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::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMemberStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMemberTypeEnum::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 IfcMemberType -::Ifc4x3_rc4::IfcMemberTypeEnum::Value Ifc4x3_rc4::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcMemberTypeEnum::Value Ifc4x3_rc4::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcMemberType::setPredefinedType(::Ifc4x3_rc4::IfcMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMemberTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMemberType::declaration() const { return *IFC4X3_RC4_IfcMemberType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMemberType::Class() { return *IFC4X3_RC4_IfcMemberType_type; } Ifc4x3_rc4::IfcMemberType::IfcMemberType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMemberType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMemberType::IfcMemberType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMemberType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMemberTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcMemberType::IfcMemberType(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::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMemberType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMemberTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcMetric -::Ifc4x3_rc4::IfcBenchmarkEnum::Value Ifc4x3_rc4::IfcMetric::Benchmark() const { return ::Ifc4x3_rc4::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } +::Ifc4x3_rc4::IfcBenchmarkEnum::Value Ifc4x3_rc4::IfcMetric::Benchmark() const { return ::Ifc4x3_rc4::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } 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);} } -bool Ifc4x3_rc4::IfcMetric::hasValueSource() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcMetric::ValueSource() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcMetric::setValueSource(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcMetric::hasDataValue() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcMetricValueSelect* Ifc4x3_rc4::IfcMetric::DataValue() const { return (::Ifc4x3_rc4::IfcMetricValueSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +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 (::Ifc4x3_rc4::IfcMetricValueSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcMetric::setDataValue(::Ifc4x3_rc4::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcMetric::hasReferencePath() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcMetric::ReferencePath() const { return (::Ifc4x3_rc4::IfcReference*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } +::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcReference*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } void Ifc4x3_rc4::IfcMetric::setReferencePath(::Ifc4x3_rc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -17899,9 +18018,8 @@ Ifc4x3_rc4::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData* Ifc4x3_rc4::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMirroredProfileDef_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_ParentProfile));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);} if (v5_Label) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Label));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMobileTelecommunicationsAppliance -bool Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::PredefinedType() const { return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::setPredefinedType(::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::declaration() const { return *IFC4X3_RC4_IfcMobileTelecommunicationsAppliance_type; } @@ -17910,17 +18028,17 @@ Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsApp Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(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::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMobileTelecommunicationsAppliance_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMobileTelecommunicationsApplianceTypeEnum::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 IfcMobileTelecommunicationsApplianceType -::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::declaration() const { return *IFC4X3_RC4_IfcMobileTelecommunicationsApplianceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::Class() { return *IFC4X3_RC4_IfcMobileTelecommunicationsApplianceType_type; } Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMobileTelecommunicationsApplianceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMobileTelecommunicationsApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(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::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMobileTelecommunicationsApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcMonetaryUnit -std::string Ifc4x3_rc4::IfcMonetaryUnit::Currency() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcMonetaryUnit::Currency() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcMonetaryUnit::setCurrency(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -17930,9 +18048,8 @@ Ifc4x3_rc4::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData* e) : IfcUtil Ifc4x3_rc4::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMonetaryUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Currency));data_->setArgument(0,attr);} } // Function implementations for IfcMooringDevice -bool Ifc4x3_rc4::IfcMooringDevice::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc4::IfcMooringDevice::PredefinedType() const { return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMooringDevice::setPredefinedType(::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMooringDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMooringDevice::declaration() const { return *IFC4X3_RC4_IfcMooringDevice_type; } @@ -17941,19 +18058,18 @@ Ifc4x3_rc4::IfcMooringDevice::IfcMooringDevice(IfcEntityInstanceData* e) : IfcBu Ifc4x3_rc4::IfcMooringDevice::IfcMooringDevice(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::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMooringDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMooringDeviceTypeEnum::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 IfcMooringDeviceType -::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc4::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc4::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcMooringDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMooringDeviceType::declaration() const { return *IFC4X3_RC4_IfcMooringDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMooringDeviceType::Class() { return *IFC4X3_RC4_IfcMooringDeviceType_type; } Ifc4x3_rc4::IfcMooringDeviceType::IfcMooringDeviceType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMooringDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcMooringDeviceType::IfcMooringDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMooringDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMooringDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcMooringDeviceType::IfcMooringDeviceType(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::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMooringDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMooringDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcMotorConnection -bool Ifc4x3_rc4::IfcMotorConnection::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc4::IfcMotorConnection::PredefinedType() const { return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMotorConnection::setPredefinedType(::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc4::IfcMotorConnection::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMotorConnection::declaration() const { return *IFC4X3_RC4_IfcMotorConnection_type; } @@ -17962,19 +18078,19 @@ Ifc4x3_rc4::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcMotorConnection::IfcMotorConnection(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::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMotorConnection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcMotorConnectionTypeEnum::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 IfcMotorConnectionType -::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc4::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc4::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcMotorConnectionType::setPredefinedType(::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMotorConnectionType::declaration() const { return *IFC4X3_RC4_IfcMotorConnectionType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcMotorConnectionType::Class() { return *IFC4X3_RC4_IfcMotorConnectionType_type; } Ifc4x3_rc4::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcMotorConnectionType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcDimensionalExponents*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcDimensionalExponents* Ifc4x3_rc4::IfcNamedUnit::Dimensions() const { return (::Ifc4x3_rc4::IfcDimensionalExponents*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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)); } +::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);} } @@ -17984,9 +18100,8 @@ Ifc4x3_rc4::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x3_rc4::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcNamedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Dimensions));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x3_rc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} } // Function implementations for IfcNavigationElement -bool Ifc4x3_rc4::IfcNavigationElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value Ifc4x3_rc4::IfcNavigationElement::PredefinedType() const { return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcNavigationElement::setPredefinedType(::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcNavigationElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc4::IfcNavigationElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcNavigationElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcNavigationElement::declaration() const { return *IFC4X3_RC4_IfcNavigationElement_type; } @@ -17995,19 +18110,18 @@ Ifc4x3_rc4::IfcNavigationElement::IfcNavigationElement(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcNavigationElement::IfcNavigationElement(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::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcNavigationElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcNavigationElementTypeEnum::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 IfcNavigationElementType -::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value Ifc4x3_rc4::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value Ifc4x3_rc4::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcNavigationElementType::setPredefinedType(::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcNavigationElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcNavigationElementType::declaration() const { return *IFC4X3_RC4_IfcNavigationElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcNavigationElementType::Class() { return *IFC4X3_RC4_IfcNavigationElementType_type; } Ifc4x3_rc4::IfcNavigationElementType::IfcNavigationElementType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcNavigationElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcNavigationElementType::IfcNavigationElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcNavigationElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcNavigationElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcNavigationElementType::IfcNavigationElementType(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::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcNavigationElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcNavigationElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcObject -bool Ifc4x3_rc4::IfcObject::hasObjectType() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcObject::ObjectType() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcObject::setObjectType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcRelDefinesByObject::list::ptr Ifc4x3_rc4::IfcObject::IsDeclaredBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelDefinesByObject_type, 4)->as(); } ::Ifc4x3_rc4::IfcRelDefinesByObject::list::ptr Ifc4x3_rc4::IfcObject::Declares() const { return data_->getInverse(IFC4X3_RC4_IfcRelDefinesByObject_type, 5)->as(); } @@ -18035,8 +18149,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 -bool Ifc4x3_rc4::IfcObjectPlacement::hasPlacementRelTo() const { return !data_->getArgument(0)->isNull(); } -::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcObjectPlacement::PlacementRelTo() const { return (::Ifc4x3_rc4::IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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(); } @@ -18047,28 +18160,24 @@ Ifc4x3_rc4::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcObjectPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PlacementRelTo));data_->setArgument(0,attr);} } // Function implementations for IfcObjective -bool Ifc4x3_rc4::IfcObjective::hasBenchmarkValues() const { return !data_->getArgument(7)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConstraint >::ptr Ifc4x3_rc4::IfcObjective::BenchmarkValues() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcConstraint >(); } -void Ifc4x3_rc4::IfcObjective::setBenchmarkValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConstraint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcObjective::hasLogicalAggregator() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value Ifc4x3_rc4::IfcObjective::LogicalAggregator() const { return ::Ifc4x3_rc4::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcObjective::setLogicalAggregator(::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLogicalOperatorEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcObjectiveEnum::Value Ifc4x3_rc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc4::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > Ifc4x3_rc4::IfcObjective::BenchmarkValues() 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::IfcConstraint >(); } +void Ifc4x3_rc4::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > Ifc4x3_rc4::IfcObjective::LogicalAggregator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLogicalOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +::Ifc4x3_rc4::IfcObjectiveEnum::Value Ifc4x3_rc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc4::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcObjective::setObjectiveQualifier(::Ifc4x3_rc4::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcObjective::hasUserDefinedQualifier() const { return !data_->getArgument(10)->isNull(); } -std::string Ifc4x3_rc4::IfcObjective::UserDefinedQualifier() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcObjective::setUserDefinedQualifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcObjective::declaration() const { return *IFC4X3_RC4_IfcObjective_type; } const IfcParse::entity& Ifc4x3_rc4::IfcObjective::Class() { return *IFC4X3_RC4_IfcObjective_type; } Ifc4x3_rc4::IfcObjective::IfcObjective(IfcEntityInstanceData* e) : IfcConstraint((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcObjective_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcObjective_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((IfcWrite::IfcWriteArgument::EnumerationReference(v3_ConstraintGrade,::Ifc4x3_rc4::IfcConstraintEnum::ToString(v3_ConstraintGrade))));data_->setArgument(2,attr);} if (v4_ConstraintSource) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ConstraintSource));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CreatingActor));data_->setArgument(4,attr);} if (v6_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_CreationTime));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_UserDefinedGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedGrade));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_BenchmarkValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_BenchmarkValues)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LogicalAggregator) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_LogicalAggregator,::Ifc4x3_rc4::IfcLogicalOperatorEnum::ToString(*v9_LogicalAggregator))));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_ObjectiveQualifier,::Ifc4x3_rc4::IfcObjectiveEnum::ToString(v10_ObjectiveQualifier))));data_->setArgument(9,attr);} if (v11_UserDefinedQualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_UserDefinedQualifier));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcObjective_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((IfcWrite::IfcWriteArgument::EnumerationReference(v3_ConstraintGrade,::Ifc4x3_rc4::IfcConstraintEnum::ToString(v3_ConstraintGrade))));data_->setArgument(2,attr);} if (v4_ConstraintSource) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ConstraintSource));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CreatingActor));data_->setArgument(4,attr);} if (v6_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_CreationTime));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_UserDefinedGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedGrade));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_BenchmarkValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_BenchmarkValues)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LogicalAggregator) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_LogicalAggregator,::Ifc4x3_rc4::IfcLogicalOperatorEnum::ToString(*v9_LogicalAggregator))));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_ObjectiveQualifier,::Ifc4x3_rc4::IfcObjectiveEnum::ToString(v10_ObjectiveQualifier))));data_->setArgument(9,attr);} if (v11_UserDefinedQualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_UserDefinedQualifier));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcOccupant -bool Ifc4x3_rc4::IfcOccupant::hasPredefinedType() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcOccupantTypeEnum::Value Ifc4x3_rc4::IfcOccupant::PredefinedType() const { return ::Ifc4x3_rc4::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcOccupant::setPredefinedType(::Ifc4x3_rc4::IfcOccupantTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcOccupantTypeEnum::ToString(v)));data_->setArgument(6,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > Ifc4x3_rc4::IfcOccupant::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } +void Ifc4x3_rc4::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcOccupantTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOccupant::declaration() const { return *IFC4X3_RC4_IfcOccupant_type; } @@ -18077,7 +18186,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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcOffsetCurve::BasisCurve() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcOffsetCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18087,54 +18196,52 @@ Ifc4x3_rc4::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData* e) : IfcCurve( Ifc4x3_rc4::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOffsetCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);} } // Function implementations for IfcOffsetCurve2D -double Ifc4x3_rc4::IfcOffsetCurve2D::Distance() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcOffsetCurve2D::Distance() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcOffsetCurve2D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcOffsetCurve2D::SelfIntersect() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcOffsetCurve2D::setSelfIntersect(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve2D::declaration() const { return *IFC4X3_RC4_IfcOffsetCurve2D_type; } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve2D::Class() { return *IFC4X3_RC4_IfcOffsetCurve2D_type; } Ifc4x3_rc4::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData* e) : IfcOffsetCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcOffsetCurve2D_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect) : IfcOffsetCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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);} } +Ifc4x3_rc4::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 -double Ifc4x3_rc4::IfcOffsetCurve3D::Distance() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcOffsetCurve3D::Distance() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcOffsetCurve3D::SelfIntersect() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcOffsetCurve3D::setSelfIntersect(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcOffsetCurve3D::RefDirection() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +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 (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve3D::declaration() const { return *IFC4X3_RC4_IfcOffsetCurve3D_type; } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve3D::Class() { return *IFC4X3_RC4_IfcOffsetCurve3D_type; } Ifc4x3_rc4::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData* e) : IfcOffsetCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcOffsetCurve3D_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection* v4_RefDirection) : IfcOffsetCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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);} } +Ifc4x3_rc4::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection* v4_RefDirection) : IfcOffsetCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 IfcOffsetCurveByDistances -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr Ifc4x3_rc4::IfcOffsetCurveByDistances::OffsetValues() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPointByDistanceExpression >(); } -void Ifc4x3_rc4::IfcOffsetCurveByDistances::setOffsetValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcOffsetCurveByDistances::hasTag() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcOffsetCurveByDistances::Tag() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcOffsetCurveByDistances::setTag(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr Ifc4x3_rc4::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPointByDistanceExpression >(); } +void Ifc4x3_rc4::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcOffsetCurveByDistances::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurveByDistances::declaration() const { return *IFC4X3_RC4_IfcOffsetCurveByDistances_type; } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurveByDistances::Class() { return *IFC4X3_RC4_IfcOffsetCurveByDistances_type; } Ifc4x3_rc4::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData* e) : IfcOffsetCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcOffsetCurveByDistances_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOffsetCurveByDistances_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OffsetValues)->generalize());data_->setArgument(1,attr);} if (v3_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Tag));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOffsetCurveByDistances_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OffsetValues)->generalize());data_->setArgument(1,attr);} if (v3_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Tag));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcOpenCrossProfileDef -bool Ifc4x3_rc4::IfcOpenCrossProfileDef::HorizontalWidths() const { return *data_->getArgument(2); } +bool Ifc4x3_rc4::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcOpenCrossProfileDef::setHorizontalWidths(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Widths() const { return *data_->getArgument(3); } +std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Slopes() const { return *data_->getArgument(4); } +std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcOpenCrossProfileDef::hasTags() const { return !data_->getArgument(5)->isNull(); } -std::vector< std::string > /*[2:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Tags() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcOpenCrossProfileDef::setTags(std::vector< std::string > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc4::IfcOpenCrossProfileDef::Tags() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOpenCrossProfileDef::declaration() const { return *IFC4X3_RC4_IfcOpenCrossProfileDef_type; } @@ -18148,12 +18255,11 @@ Ifc4x3_rc4::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc4::IfcProf const IfcParse::entity& Ifc4x3_rc4::IfcOpenShell::declaration() const { return *IFC4X3_RC4_IfcOpenShell_type; } const IfcParse::entity& Ifc4x3_rc4::IfcOpenShell::Class() { return *IFC4X3_RC4_IfcOpenShell_type; } Ifc4x3_rc4::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData* e) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcOpenShell_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcOpenShell::IfcOpenShell(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOpenShell_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOpenShell_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcOpeningElement -bool Ifc4x3_rc4::IfcOpeningElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value Ifc4x3_rc4::IfcOpeningElement::PredefinedType() const { return ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcOpeningElement::setPredefinedType(::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcOpeningElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc4::IfcOpeningElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcOpeningElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelFillsElement::list::ptr Ifc4x3_rc4::IfcOpeningElement::HasFillings() const { return data_->getInverse(IFC4X3_RC4_IfcRelFillsElement_type, 4)->as(); } @@ -18171,20 +18277,16 @@ Ifc4x3_rc4::IfcOpeningStandardCase::IfcOpeningStandardCase(IfcEntityInstanceData Ifc4x3_rc4::IfcOpeningStandardCase::IfcOpeningStandardCase(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::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOpeningStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcOpeningElementTypeEnum::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 IfcOrganization -bool Ifc4x3_rc4::IfcOrganization::hasIdentification() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcOrganization::Identification() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcOrganization::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -std::string Ifc4x3_rc4::IfcOrganization::Name() const { return *data_->getArgument(1); } +boost::optional< std::string > Ifc4x3_rc4::IfcOrganization::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +std::string Ifc4x3_rc4::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcOrganization::hasDescription() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcOrganization::Description() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcOrganization::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcOrganization::hasRoles() const { return !data_->getArgument(3)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr Ifc4x3_rc4::IfcOrganization::Roles() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } -void Ifc4x3_rc4::IfcOrganization::setRoles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcOrganization::hasAddresses() const { return !data_->getArgument(4)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr Ifc4x3_rc4::IfcOrganization::Addresses() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcAddress >(); } -void Ifc4x3_rc4::IfcOrganization::setAddresses(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } +void Ifc4x3_rc4::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Ifc4x3_rc4::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcAddress >(); } +void Ifc4x3_rc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcOrganizationRelationship::list::ptr Ifc4x3_rc4::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC4X3_RC4_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc4x3_rc4::IfcOrganizationRelationship::list::ptr Ifc4x3_rc4::IfcOrganization::Relates() const { return data_->getInverse(IFC4X3_RC4_IfcOrganizationRelationship_type, 2)->as(); } @@ -18193,24 +18295,24 @@ void Ifc4x3_rc4::IfcOrganization::setAddresses(IfcTemplatedEntityList< ::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc4::IfcOrganization::declaration() const { return *IFC4X3_RC4_IfcOrganization_type; } const IfcParse::entity& Ifc4x3_rc4::IfcOrganization::Class() { return *IFC4X3_RC4_IfcOrganization_type; } Ifc4x3_rc4::IfcOrganization::IfcOrganization(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcOrganization_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< ::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); } } +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 (::Ifc4x3_rc4::IfcOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcOrganizationRelationship::RelatingOrganization() const { return (::Ifc4x3_rc4::IfcOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_rc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrganization >::ptr Ifc4x3_rc4::IfcOrganizationRelationship::RelatedOrganizations() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcOrganization >(); } -void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatedOrganizations(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcOrganizationRelationship::declaration() const { return *IFC4X3_RC4_IfcOrganizationRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcOrganizationRelationship::Class() { return *IFC4X3_RC4_IfcOrganizationRelationship_type; } Ifc4x3_rc4::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcOrganizationRelationship_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcEdge*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcOrientedEdge::EdgeElement() const { return (::Ifc4x3_rc4::IfcEdge*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 { return *data_->getArgument(3); } +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);} } @@ -18225,12 +18327,11 @@ Ifc4x3_rc4::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc4::IfcEdge* v3_EdgeEleme const IfcParse::entity& Ifc4x3_rc4::IfcOuterBoundaryCurve::declaration() const { return *IFC4X3_RC4_IfcOuterBoundaryCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcOuterBoundaryCurve::Class() { return *IFC4X3_RC4_IfcOuterBoundaryCurve_type; } Ifc4x3_rc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData* e) : IfcBoundaryCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcOuterBoundaryCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcBoundaryCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOuterBoundaryCurve_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);} } +Ifc4x3_rc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOuterBoundaryCurve_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 IfcOutlet -bool Ifc4x3_rc4::IfcOutlet::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcOutletTypeEnum::Value Ifc4x3_rc4::IfcOutlet::PredefinedType() const { return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcOutlet::setPredefinedType(::Ifc4x3_rc4::IfcOutletTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcOutletTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > Ifc4x3_rc4::IfcOutlet::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcOutletTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOutlet::declaration() const { return *IFC4X3_RC4_IfcOutlet_type; } @@ -18239,36 +18340,31 @@ Ifc4x3_rc4::IfcOutlet::IfcOutlet(IfcEntityInstanceData* e) : IfcFlowTerminal((If Ifc4x3_rc4::IfcOutlet::IfcOutlet(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::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOutlet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcOutletTypeEnum::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 IfcOutletType -::Ifc4x3_rc4::IfcOutletTypeEnum::Value Ifc4x3_rc4::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcOutletTypeEnum::Value Ifc4x3_rc4::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcOutletType::setPredefinedType(::Ifc4x3_rc4::IfcOutletTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcOutletTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOutletType::declaration() const { return *IFC4X3_RC4_IfcOutletType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcOutletType::Class() { return *IFC4X3_RC4_IfcOutletType_type; } Ifc4x3_rc4::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcOutletType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::OwningUser() const { return (::Ifc4x3_rc4::IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcApplication*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::OwningApplication() const { return (::Ifc4x3_rc4::IfcApplication*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc4::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcOwnerHistory::hasState() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcStateEnum::Value Ifc4x3_rc4::IfcOwnerHistory::State() const { return ::Ifc4x3_rc4::IfcStateEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc4::IfcOwnerHistory::setState(::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);} } -bool Ifc4x3_rc4::IfcOwnerHistory::hasChangeAction() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcChangeActionEnum::Value Ifc4x3_rc4::IfcOwnerHistory::ChangeAction() const { return ::Ifc4x3_rc4::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc4::IfcOwnerHistory::setChangeAction(::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);} } -bool Ifc4x3_rc4::IfcOwnerHistory::hasLastModifiedDate() const { return !data_->getArgument(4)->isNull(); } -int Ifc4x3_rc4::IfcOwnerHistory::LastModifiedDate() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcOwnerHistory::setLastModifiedDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcOwnerHistory::hasLastModifyingUser() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingUser() const { return (::Ifc4x3_rc4::IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +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);} } +boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > Ifc4x3_rc4::IfcOwnerHistory::ChangeAction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } +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 (::Ifc4x3_rc4::IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc4::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcOwnerHistory::hasLastModifyingApplication() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingApplication() const { return (::Ifc4x3_rc4::IfcApplication*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcApplication*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } 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 { return *data_->getArgument(7); } +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);} } @@ -18278,8 +18374,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 -bool Ifc4x3_rc4::IfcParameterizedProfileDef::hasPosition() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcAxis2Placement2D* Ifc4x3_rc4::IfcParameterizedProfileDef::Position() const { return (::Ifc4x3_rc4::IfcAxis2Placement2D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcAxis2Placement2D* Ifc4x3_rc4::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcAxis2Placement2D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcParameterizedProfileDef::setPosition(::Ifc4x3_rc4::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18289,19 +18384,18 @@ Ifc4x3_rc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInst Ifc4x3_rc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcParameterizedProfileDef_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_Position));data_->setArgument(2,attr);} } // Function implementations for IfcPath -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr Ifc4x3_rc4::IfcPath::EdgeList() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcOrientedEdge >(); } -void Ifc4x3_rc4::IfcPath::setEdgeList(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr Ifc4x3_rc4::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcOrientedEdge >(); } +void Ifc4x3_rc4::IfcPath::setEdgeList(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPath::declaration() const { return *IFC4X3_RC4_IfcPath_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPath::Class() { return *IFC4X3_RC4_IfcPath_type; } Ifc4x3_rc4::IfcPath::IfcPath(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPath_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPath::IfcPath(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPath_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeList)->generalize());data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPath_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeList)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPavement -bool Ifc4x3_rc4::IfcPavement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcPavementTypeEnum::Value Ifc4x3_rc4::IfcPavement::PredefinedType() const { return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPavement::setPredefinedType(::Ifc4x3_rc4::IfcPavementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPavementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > Ifc4x3_rc4::IfcPavement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPavementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPavement::declaration() const { return *IFC4X3_RC4_IfcPavement_type; } @@ -18310,19 +18404,19 @@ Ifc4x3_rc4::IfcPavement::IfcPavement(IfcEntityInstanceData* e) : IfcBuiltElement Ifc4x3_rc4::IfcPavement::IfcPavement(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::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPavement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPavementTypeEnum::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 IfcPavementType -::Ifc4x3_rc4::IfcPavementTypeEnum::Value Ifc4x3_rc4::IfcPavementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcPavementTypeEnum::Value Ifc4x3_rc4::IfcPavementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcPavementType::setPredefinedType(::Ifc4x3_rc4::IfcPavementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPavementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPavementType::declaration() const { return *IFC4X3_RC4_IfcPavementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPavementType::Class() { return *IFC4X3_RC4_IfcPavementType_type; } Ifc4x3_rc4::IfcPavementType::IfcPavementType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPavementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPcurve::BasisSurface() const { return (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPcurve::ReferenceCurve() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcPcurve::setReferenceCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18332,11 +18426,10 @@ Ifc4x3_rc4::IfcPcurve::IfcPcurve(IfcEntityInstanceData* e) : IfcCurve((IfcEntity Ifc4x3_rc4::IfcPcurve::IfcPcurve(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_ReferenceCurve) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPcurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ReferenceCurve));data_->setArgument(1,attr);} } // Function implementations for IfcPerformanceHistory -std::string Ifc4x3_rc4::IfcPerformanceHistory::LifeCyclePhase() const { return *data_->getArgument(6); } +std::string Ifc4x3_rc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcPerformanceHistory::hasPredefinedType() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_rc4::IfcPerformanceHistory::PredefinedType() const { return ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcPerformanceHistory::setPredefinedType(::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::ToString(v)));data_->setArgument(7,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc4::IfcPerformanceHistory::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } +void Ifc4x3_rc4::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPerformanceHistory::declaration() const { return *IFC4X3_RC4_IfcPerformanceHistory_type; } @@ -18345,18 +18438,15 @@ Ifc4x3_rc4::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData* Ifc4x3_rc4::IfcPerformanceHistory::IfcPerformanceHistory(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_LifeCyclePhase, boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPerformanceHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_LifeCyclePhase));data_->setArgument(6,attr);} if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::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 IfcPermeableCoveringProperties -::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::FromString(*data_->getArgument(4)); } +::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::FromString(*data_->getArgument(4)); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::ToString(v)));data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } +::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcPermeableCoveringProperties::hasFrameDepth() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameDepth() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcPermeableCoveringProperties::hasFrameThickness() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameThickness() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcPermeableCoveringProperties::hasShapeAspectStyle() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { return (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +boost::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +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 (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18366,15 +18456,12 @@ Ifc4x3_rc4::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEn Ifc4x3_rc4::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPermeableCoveringProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_OperationType,::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::ToString(v5_OperationType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PanelPosition,::Ifc4x3_rc4::IfcWindowPanelPositionEnum::ToString(v6_PanelPosition))));data_->setArgument(5,attr);} if (v7_FrameDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_FrameDepth));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_FrameThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FrameThickness));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_ShapeAspectStyle));data_->setArgument(8,attr);} } // Function implementations for IfcPermit -bool Ifc4x3_rc4::IfcPermit::hasPredefinedType() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcPermitTypeEnum::Value Ifc4x3_rc4::IfcPermit::PredefinedType() const { return ::Ifc4x3_rc4::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcPermit::setPredefinedType(::Ifc4x3_rc4::IfcPermitTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPermitTypeEnum::ToString(v)));data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcPermit::hasStatus() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcPermit::Status() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcPermit::setStatus(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcPermit::hasLongDescription() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcPermit::LongDescription() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcPermit::setLongDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > Ifc4x3_rc4::IfcPermit::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } +void Ifc4x3_rc4::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPermitTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPermit::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPermit::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPermit::declaration() const { return *IFC4X3_RC4_IfcPermit_type; } @@ -18383,77 +18470,65 @@ Ifc4x3_rc4::IfcPermit::IfcPermit(IfcEntityInstanceData* e) : IfcControl((IfcEnti Ifc4x3_rc4::IfcPermit::IfcPermit(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::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPermit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPermitTypeEnum::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 IfcPerson -bool Ifc4x3_rc4::IfcPerson::hasIdentification() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcPerson::Identification() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcPerson::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcPerson::hasFamilyName() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcPerson::FamilyName() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcPerson::setFamilyName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcPerson::hasGivenName() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcPerson::GivenName() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcPerson::setGivenName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPerson::hasMiddleNames() const { return !data_->getArgument(3)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcPerson::MiddleNames() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcPerson::setMiddleNames(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcPerson::hasPrefixTitles() const { return !data_->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcPerson::PrefixTitles() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcPerson::setPrefixTitles(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcPerson::hasSuffixTitles() const { return !data_->getArgument(5)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcPerson::SuffixTitles() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcPerson::setSuffixTitles(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcPerson::hasRoles() const { return !data_->getArgument(6)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr Ifc4x3_rc4::IfcPerson::Roles() const { IfcEntityList::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } -void Ifc4x3_rc4::IfcPerson::setRoles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcPerson::hasAddresses() const { return !data_->getArgument(7)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr Ifc4x3_rc4::IfcPerson::Addresses() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcAddress >(); } -void Ifc4x3_rc4::IfcPerson::setAddresses(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPerson::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::PrefixTitles() 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::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } +void Ifc4x3_rc4::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Ifc4x3_rc4::IfcPerson::Addresses() 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::IfcAddress >(); } +void Ifc4x3_rc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcPersonAndOrganization::list::ptr Ifc4x3_rc4::IfcPerson::EngagedIn() const { return data_->getInverse(IFC4X3_RC4_IfcPersonAndOrganization_type, 0)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcPerson::declaration() const { return *IFC4X3_RC4_IfcPerson_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPerson::Class() { return *IFC4X3_RC4_IfcPerson_type; } Ifc4x3_rc4::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPerson_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< ::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); } } +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 (::Ifc4x3_rc4::IfcPerson*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcPersonAndOrganization::ThePerson() const { return (::Ifc4x3_rc4::IfcPerson*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcPersonAndOrganization::TheOrganization() const { return (::Ifc4x3_rc4::IfcOrganization*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcPersonAndOrganization::hasRoles() const { return !data_->getArgument(2)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr Ifc4x3_rc4::IfcPersonAndOrganization::Roles() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } -void Ifc4x3_rc4::IfcPersonAndOrganization::setRoles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcPersonAndOrganization::declaration() const { return *IFC4X3_RC4_IfcPersonAndOrganization_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPersonAndOrganization::Class() { return *IFC4X3_RC4_IfcPersonAndOrganization_type; } Ifc4x3_rc4::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPersonAndOrganization_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_rc4::IfcPerson* v1_ThePerson, ::Ifc4x3_rc4::IfcOrganization* v2_TheOrganization, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPersonAndOrganization_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ThePerson));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TheOrganization));data_->setArgument(1,attr);} if (v3_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Roles)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_rc4::IfcPerson* v1_ThePerson, ::Ifc4x3_rc4::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPersonAndOrganization_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ThePerson));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TheOrganization));data_->setArgument(1,attr);} if (v3_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Roles)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcPhysicalComplexQuantity -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcPhysicalComplexQuantity::HasQuantities() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } -void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setHasQuantities(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } -std::string Ifc4x3_rc4::IfcPhysicalComplexQuantity::Discrimination() const { return *data_->getArgument(3); } +aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } +void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } +std::string Ifc4x3_rc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcPhysicalComplexQuantity::hasQuality() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcPhysicalComplexQuantity::Quality() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setQuality(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcPhysicalComplexQuantity::hasUsage() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcPhysicalComplexQuantity::Usage() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setUsage(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalComplexQuantity::declaration() const { return *IFC4X3_RC4_IfcPhysicalComplexQuantity_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalComplexQuantity::Class() { return *IFC4X3_RC4_IfcPhysicalComplexQuantity_type; } Ifc4x3_rc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData* e) : IfcPhysicalQuantity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPhysicalComplexQuantity_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPhysicalComplexQuantity_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_HasQuantities)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Discrimination));data_->setArgument(3,attr);} if (v5_Quality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Quality));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Usage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Usage));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } +Ifc4x3_rc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPhysicalComplexQuantity_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_HasQuantities)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Discrimination));data_->setArgument(3,attr);} if (v5_Quality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Quality));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Usage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Usage));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x3_rc4::IfcPhysicalQuantity::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcPhysicalQuantity::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcPhysicalQuantity::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcPhysicalQuantity::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc4::IfcPhysicalComplexQuantity::list::ptr Ifc4x3_rc4::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC4X3_RC4_IfcPhysicalComplexQuantity_type, 2)->as(); } @@ -18464,8 +18539,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 -bool Ifc4x3_rc4::IfcPhysicalSimpleQuantity::hasUnit() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcPhysicalSimpleQuantity::Unit() const { return (::Ifc4x3_rc4::IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_rc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18475,12 +18549,10 @@ Ifc4x3_rc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstan Ifc4x3_rc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPhysicalSimpleQuantity_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_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPile -bool Ifc4x3_rc4::IfcPile::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcPileTypeEnum::Value Ifc4x3_rc4::IfcPile::PredefinedType() const { return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPile::setPredefinedType(::Ifc4x3_rc4::IfcPileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPileTypeEnum::ToString(v)));data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcPile::hasConstructionType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcPileConstructionEnum::Value Ifc4x3_rc4::IfcPile::ConstructionType() const { return ::Ifc4x3_rc4::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcPile::setConstructionType(::Ifc4x3_rc4::IfcPileConstructionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPileConstructionEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > Ifc4x3_rc4::IfcPile::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPileTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > Ifc4x3_rc4::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPileConstructionEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPile::declaration() const { return *IFC4X3_RC4_IfcPile_type; } @@ -18489,19 +18561,18 @@ Ifc4x3_rc4::IfcPile::IfcPile(IfcEntityInstanceData* e) : IfcDeepFoundation((IfcE Ifc4x3_rc4::IfcPile::IfcPile(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::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPile_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPileTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_ConstructionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_ConstructionType,::Ifc4x3_rc4::IfcPileConstructionEnum::ToString(*v10_ConstructionType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcPileType -::Ifc4x3_rc4::IfcPileTypeEnum::Value Ifc4x3_rc4::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcPileTypeEnum::Value Ifc4x3_rc4::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcPileType::setPredefinedType(::Ifc4x3_rc4::IfcPileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPileTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPileType::declaration() const { return *IFC4X3_RC4_IfcPileType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPileType::Class() { return *IFC4X3_RC4_IfcPileType_type; } Ifc4x3_rc4::IfcPileType::IfcPileType(IfcEntityInstanceData* e) : IfcDeepFoundationType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPileType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPileType::IfcPileType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPileType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPileTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcPileType::IfcPileType(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::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPileType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPileTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPipeFitting -bool Ifc4x3_rc4::IfcPipeFitting::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value Ifc4x3_rc4::IfcPipeFitting::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPipeFitting::setPredefinedType(::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPipeFittingTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc4::IfcPipeFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPipeFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPipeFitting::declaration() const { return *IFC4X3_RC4_IfcPipeFitting_type; } @@ -18510,19 +18581,18 @@ Ifc4x3_rc4::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData* e) : IfcFlowFi Ifc4x3_rc4::IfcPipeFitting::IfcPipeFitting(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::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeFitting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPipeFittingTypeEnum::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 IfcPipeFittingType -::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value Ifc4x3_rc4::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value Ifc4x3_rc4::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcPipeFittingType::setPredefinedType(::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPipeFittingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPipeFittingType::declaration() const { return *IFC4X3_RC4_IfcPipeFittingType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPipeFittingType::Class() { return *IFC4X3_RC4_IfcPipeFittingType_type; } Ifc4x3_rc4::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPipeFittingType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPipeFittingType::IfcPipeFittingType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPipeFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcPipeFittingType::IfcPipeFittingType(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::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPipeFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPipeSegment -bool Ifc4x3_rc4::IfcPipeSegment::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc4::IfcPipeSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPipeSegment::setPredefinedType(::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc4::IfcPipeSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPipeSegment::declaration() const { return *IFC4X3_RC4_IfcPipeSegment_type; } @@ -18531,23 +18601,23 @@ Ifc4x3_rc4::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData* e) : IfcFlowSe Ifc4x3_rc4::IfcPipeSegment::IfcPipeSegment(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::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPipeSegmentTypeEnum::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 IfcPipeSegmentType -::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc4::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc4::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcPipeSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPipeSegmentType::declaration() const { return *IFC4X3_RC4_IfcPipeSegmentType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPipeSegmentType::Class() { return *IFC4X3_RC4_IfcPipeSegmentType_type; } Ifc4x3_rc4::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData* e) : IfcFlowSegmentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPipeSegmentType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPipeSegmentType::IfcPipeSegmentType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcPipeSegmentType::IfcPipeSegmentType(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::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPipeSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPixelTexture -int Ifc4x3_rc4::IfcPixelTexture::Width() const { return *data_->getArgument(5); } +int Ifc4x3_rc4::IfcPixelTexture::Width() const { int v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcPixelTexture::setWidth(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -int Ifc4x3_rc4::IfcPixelTexture::Height() const { return *data_->getArgument(6); } +int Ifc4x3_rc4::IfcPixelTexture::Height() const { int v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcPixelTexture::setHeight(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -int Ifc4x3_rc4::IfcPixelTexture::ColourComponents() const { return *data_->getArgument(7); } +int Ifc4x3_rc4::IfcPixelTexture::ColourComponents() const { int v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcPixelTexture::setColourComponents(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc4::IfcPixelTexture::Pixel() const { return *data_->getArgument(8); } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc4::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18557,7 +18627,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 (::Ifc4x3_rc4::IfcPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcPlacement::Location() const { return (::Ifc4x3_rc4::IfcPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcPlacement::setLocation(::Ifc4x3_rc4::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18567,7 +18637,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 (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcPlanarBox::Placement() const { return (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcPlanarBox::setPlacement(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18577,9 +18647,9 @@ Ifc4x3_rc4::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData* e) : IfcPlanarExte Ifc4x3_rc4::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc4::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPlanarBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SizeInX));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SizeInY));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Placement));data_->setArgument(2,attr);} } // Function implementations for IfcPlanarExtent -double Ifc4x3_rc4::IfcPlanarExtent::SizeInX() const { return *data_->getArgument(0); } +double Ifc4x3_rc4::IfcPlanarExtent::SizeInX() const { double v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcPlanarExtent::setSizeInX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -double Ifc4x3_rc4::IfcPlanarExtent::SizeInY() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcPlanarExtent::SizeInY() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcPlanarExtent::setSizeInY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18605,9 +18675,8 @@ Ifc4x3_rc4::IfcPlant::IfcPlant(IfcEntityInstanceData* e) : IfcGeographicElement( Ifc4x3_rc4::IfcPlant::IfcPlant(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::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcGeographicElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPlant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcGeographicElementTypeEnum::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 IfcPlate -bool Ifc4x3_rc4::IfcPlate::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcPlateTypeEnum::Value Ifc4x3_rc4::IfcPlate::PredefinedType() const { return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPlate::setPredefinedType(::Ifc4x3_rc4::IfcPlateTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPlateTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > Ifc4x3_rc4::IfcPlate::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPlateTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPlate::declaration() const { return *IFC4X3_RC4_IfcPlate_type; } @@ -18624,14 +18693,14 @@ Ifc4x3_rc4::IfcPlateStandardCase::IfcPlateStandardCase(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcPlateStandardCase::IfcPlateStandardCase(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::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPlateStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPlateTypeEnum::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 IfcPlateType -::Ifc4x3_rc4::IfcPlateTypeEnum::Value Ifc4x3_rc4::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcPlateTypeEnum::Value Ifc4x3_rc4::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcPlateType::setPredefinedType(::Ifc4x3_rc4::IfcPlateTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPlateTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPlateType::declaration() const { return *IFC4X3_RC4_IfcPlateType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPlateType::Class() { return *IFC4X3_RC4_IfcPlateType_type; } Ifc4x3_rc4::IfcPlateType::IfcPlateType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPlateType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPlateType::IfcPlateType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPlateType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPlateTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcPlateType::IfcPlateType(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::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPlateType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPlateTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPoint @@ -18642,18 +18711,15 @@ 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 (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcPointByDistanceExpression::DistanceAlong() const { return (::Ifc4x3_rc4::IfcCurveMeasureSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcPointByDistanceExpression::hasOffsetLateral() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLateral() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLateral(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcPointByDistanceExpression::hasOffsetVertical() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetVertical() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetVertical(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPointByDistanceExpression::hasOffsetLongitudinal() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLongitudinal() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLongitudinal(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointByDistanceExpression::BasisCurve() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +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);} } +boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetVertical() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -18663,9 +18729,9 @@ 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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointOnCurve::BasisCurve() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } @@ -18675,11 +18741,11 @@ 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 (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPointOnSurface::BasisSurface() const { return (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } -double Ifc4x3_rc4::IfcPointOnSurface::PointParameterV() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcPointOnSurface::PointParameterV() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcPointOnSurface::setPointParameterV(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18689,19 +18755,19 @@ Ifc4x3_rc4::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPointOnSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameterU));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_PointParameterV));data_->setArgument(2,attr);} } // Function implementations for IfcPolyLoop -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcPolyLoop::Polygon() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } -void Ifc4x3_rc4::IfcPolyLoop::setPolygon(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } +void Ifc4x3_rc4::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPolyLoop::declaration() const { return *IFC4X3_RC4_IfcPolyLoop_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPolyLoop::Class() { return *IFC4X3_RC4_IfcPolyLoop_type; } Ifc4x3_rc4::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPolyLoop_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPolyLoop::IfcPolyLoop(IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::Position() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 (::Ifc4x3_rc4::IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return (::Ifc4x3_rc4::IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_rc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18711,43 +18777,38 @@ Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntity Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc4::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPolygonalBoundedHalfSpace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BaseSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AgreementFlag));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_PolygonalBoundary));data_->setArgument(3,attr);} } // Function implementations for IfcPolygonalFaceSet -bool Ifc4x3_rc4::IfcPolygonalFaceSet::hasClosed() const { return !data_->getArgument(1)->isNull(); } -bool Ifc4x3_rc4::IfcPolygonalFaceSet::Closed() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcPolygonalFaceSet::setClosed(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc4::IfcPolygonalFaceSet::Faces() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >(); } -void Ifc4x3_rc4::IfcPolygonalFaceSet::setFaces(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPolygonalFaceSet::hasPnIndex() const { return !data_->getArgument(3)->isNull(); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcPolygonalFaceSet::PnIndex() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcPolygonalFaceSet::setPnIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::optional< bool > Ifc4x3_rc4::IfcPolygonalFaceSet::Closed() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc4::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >(); } +void Ifc4x3_rc4::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcPolygonalFaceSet::PnIndex() 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::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPolygonalFaceSet::declaration() const { return *IFC4X3_RC4_IfcPolygonalFaceSet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPolygonalFaceSet::Class() { return *IFC4X3_RC4_IfcPolygonalFaceSet_type; } Ifc4x3_rc4::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData* e) : IfcTessellatedFaceSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPolygonalFaceSet_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_rc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPolygonalFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Closed));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_Faces)->generalize());data_->setArgument(2,attr);} if (v4_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_PnIndex));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc4::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_rc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPolygonalFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Closed));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_Faces)->generalize());data_->setArgument(2,attr);} if (v4_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_PnIndex));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPolyline -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcPolyline::Points() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } -void Ifc4x3_rc4::IfcPolyline::setPoints(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcPolyline::Points() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } +void Ifc4x3_rc4::IfcPolyline::setPoints(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPolyline::declaration() const { return *IFC4X3_RC4_IfcPolyline_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPolyline::Class() { return *IFC4X3_RC4_IfcPolyline_type; } Ifc4x3_rc4::IfcPolyline::IfcPolyline(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPolyline_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPolyline::IfcPolyline(IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcPolynomialCurve::Position() const { return (::Ifc4x3_rc4::IfcPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcPolynomialCurve::setPosition(::Ifc4x3_rc4::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcPolynomialCurve::hasCoefficientsX() const { return !data_->getArgument(1)->isNull(); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsX() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsX(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcPolynomialCurve::hasCoefficientsY() const { return !data_->getArgument(2)->isNull(); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsY() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsY(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPolynomialCurve::hasCoefficientsZ() const { return !data_->getArgument(3)->isNull(); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsZ() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsZ(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,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);} } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPolynomialCurve::declaration() const { return *IFC4X3_RC4_IfcPolynomialCurve_type; } @@ -18777,27 +18838,20 @@ Ifc4x3_rc4::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData* Ifc4x3_rc4::IfcPositioningElement::IfcPositioningElement(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_IfcPositioningElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcPostalAddress -bool Ifc4x3_rc4::IfcPostalAddress::hasInternalLocation() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcPostalAddress::InternalLocation() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcPostalAddress::setInternalLocation(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcPostalAddress::hasAddressLines() const { return !data_->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcPostalAddress::AddressLines() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcPostalAddress::setAddressLines(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcPostalAddress::hasPostalBox() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcPostalAddress::PostalBox() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcPostalAddress::setPostalBox(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcPostalAddress::hasTown() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcPostalAddress::Town() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcPostalAddress::setTown(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcPostalAddress::hasRegion() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcPostalAddress::Region() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcPostalAddress::setRegion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcPostalAddress::hasPostalCode() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcPostalAddress::PostalCode() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcPostalAddress::setPostalCode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcPostalAddress::hasCountry() const { return !data_->getArgument(9)->isNull(); } -std::string Ifc4x3_rc4::IfcPostalAddress::Country() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcPostalAddress::setCountry(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPostalAddress::AddressLines() 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::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPostalAddress::declaration() const { return *IFC4X3_RC4_IfcPostalAddress_type; } @@ -18822,7 +18876,7 @@ Ifc4x3_rc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData Ifc4x3_rc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPreDefinedCurveFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcPreDefinedItem -std::string Ifc4x3_rc4::IfcPreDefinedItem::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcPreDefinedItem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcPreDefinedItem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18864,43 +18918,40 @@ Ifc4x3_rc4::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationItem_type); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcPresentationLayerAssignment::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcPresentationLayerAssignment::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcEntityList::ptr Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPresentationLayerAssignment::hasIdentifier() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Identifier() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC4_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::Class() { return *IFC4X3_RC4_IfcPresentationLayerAssignment_type; } Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle -bool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerOn() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerOn(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerFrozen() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerFrozen(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerBlocked() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerBlocked(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerStyles() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcPresentationStyle >(); } -void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerStyles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcPresentationStyle >(); } +void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_RC4_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_RC4_IfcPresentationLayerWithStyle_type; } Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle -bool Ifc4x3_rc4::IfcPresentationStyle::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcPresentationStyle::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcPresentationStyle::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationStyle::declaration() const { return *IFC4X3_RC4_IfcPresentationStyle_type; } @@ -18909,9 +18960,8 @@ Ifc4x3_rc4::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPresentationStyle_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); } } // Function implementations for IfcProcedure -bool Ifc4x3_rc4::IfcProcedure::hasPredefinedType() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcProcedureTypeEnum::Value Ifc4x3_rc4::IfcProcedure::PredefinedType() const { return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcProcedure::setPredefinedType(::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProcedureTypeEnum::ToString(v)));data_->setArgument(7,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > Ifc4x3_rc4::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } +void Ifc4x3_rc4::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProcedureTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProcedure::declaration() const { return *IFC4X3_RC4_IfcProcedure_type; } @@ -18920,22 +18970,20 @@ Ifc4x3_rc4::IfcProcedure::IfcProcedure(IfcEntityInstanceData* e) : IfcProcess((I Ifc4x3_rc4::IfcProcedure::IfcProcedure(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, boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProcedure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4x3_rc4::IfcProcedureTypeEnum::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 IfcProcedureType -::Ifc4x3_rc4::IfcProcedureTypeEnum::Value Ifc4x3_rc4::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcProcedureTypeEnum::Value Ifc4x3_rc4::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcProcedureType::setPredefinedType(::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProcedureTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProcedureType::declaration() const { return *IFC4X3_RC4_IfcProcedureType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcProcedureType::Class() { return *IFC4X3_RC4_IfcProcedureType_type; } Ifc4x3_rc4::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData* e) : IfcTypeProcess((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcProcedureType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcProcedureType::IfcProcedureType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProcedureType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));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::IfcProcedureTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcProcedureType::IfcProcedureType(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_ProcessType, ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProcedureType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));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::IfcProcedureTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcProcess -bool Ifc4x3_rc4::IfcProcess::hasIdentification() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcProcess::Identification() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcProcess::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcProcess::hasLongDescription() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcProcess::LongDescription() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcProcess::setLongDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcProcess::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcProcess::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcRelSequence::list::ptr Ifc4x3_rc4::IfcProcess::IsPredecessorTo() const { return data_->getInverse(IFC4X3_RC4_IfcRelSequence_type, 4)->as(); } ::Ifc4x3_rc4::IfcRelSequence::list::ptr Ifc4x3_rc4::IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IFC4X3_RC4_IfcRelSequence_type, 5)->as(); } @@ -18947,11 +18995,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 -bool Ifc4x3_rc4::IfcProduct::hasObjectPlacement() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcProduct::ObjectPlacement() const { return (::Ifc4x3_rc4::IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcProduct::setObjectPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcProduct::hasRepresentation() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcProductRepresentation* Ifc4x3_rc4::IfcProduct::Representation() const { return (::Ifc4x3_rc4::IfcProductRepresentation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcProductRepresentation* Ifc4x3_rc4::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcProductRepresentation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } 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(); } @@ -18971,30 +19017,27 @@ Ifc4x3_rc4::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwn const IfcParse::entity& Ifc4x3_rc4::IfcProductDefinitionShape::declaration() const { return *IFC4X3_RC4_IfcProductDefinitionShape_type; } const IfcParse::entity& Ifc4x3_rc4::IfcProductDefinitionShape::Class() { return *IFC4X3_RC4_IfcProductDefinitionShape_type; } Ifc4x3_rc4::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData* e) : IfcProductRepresentation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcProductDefinitionShape_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProductDefinitionShape_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);} } +Ifc4x3_rc4::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProductDefinitionShape_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);} } // Function implementations for IfcProductRepresentation -bool Ifc4x3_rc4::IfcProductRepresentation::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcProductRepresentation::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcProductRepresentation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcProductRepresentation::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcProductRepresentation::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcProductRepresentation::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentation >::ptr Ifc4x3_rc4::IfcProductRepresentation::Representations() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcRepresentation >(); } -void Ifc4x3_rc4::IfcProductRepresentation::setRepresentations(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcProductRepresentation::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::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr Ifc4x3_rc4::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcRepresentation >(); } +void Ifc4x3_rc4::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProductRepresentation::declaration() const { return *IFC4X3_RC4_IfcProductRepresentation_type; } const IfcParse::entity& Ifc4x3_rc4::IfcProductRepresentation::Class() { return *IFC4X3_RC4_IfcProductRepresentation_type; } Ifc4x3_rc4::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcProductRepresentation_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProductRepresentation_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);} } +Ifc4x3_rc4::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProductRepresentation_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);} } // Function implementations for IfcProfileDef -::Ifc4x3_rc4::IfcProfileTypeEnum::Value Ifc4x3_rc4::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc4::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } +::Ifc4x3_rc4::IfcProfileTypeEnum::Value Ifc4x3_rc4::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc4::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcProfileDef::setProfileType(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcProfileDef::hasProfileName() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcProfileDef::ProfileName() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcProfileDef::setProfileName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcProfileDef::HasExternalReference() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc4::IfcProfileProperties::list::ptr Ifc4x3_rc4::IfcProfileDef::HasProperties() const { return data_->getInverse(IFC4X3_RC4_IfcProfileProperties_type, 3)->as(); } @@ -19005,14 +19048,14 @@ 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 (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcProfileProperties::ProfileDefinition() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcProfileProperties::setProfileDefinition(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProfileProperties::declaration() const { return *IFC4X3_RC4_IfcProfileProperties_type; } const IfcParse::entity& Ifc4x3_rc4::IfcProfileProperties::Class() { return *IFC4X3_RC4_IfcProfileProperties_type; } Ifc4x3_rc4::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData* e) : IfcExtendedProperties((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcProfileProperties_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc4::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProfileProperties_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_ProfileDefinition));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc4::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProfileProperties_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_ProfileDefinition));data_->setArgument(3,attr);} } // Function implementations for IfcProject @@ -19020,7 +19063,7 @@ Ifc4x3_rc4::IfcProfileProperties::IfcProfileProperties(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc4::IfcProject::declaration() const { return *IFC4X3_RC4_IfcProject_type; } const IfcParse::entity& Ifc4x3_rc4::IfcProject::Class() { return *IFC4X3_RC4_IfcProject_type; } Ifc4x3_rc4::IfcProject::IfcProject(IfcEntityInstanceData* e) : IfcContext((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcProject_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcProject::IfcProject(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_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Phase) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Phase));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_RepresentationContexts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RepresentationContexts)->generalize());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_UnitsInContext));data_->setArgument(8,attr);} } +Ifc4x3_rc4::IfcProject::IfcProject(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_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Phase) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Phase));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_RepresentationContexts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RepresentationContexts)->generalize());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_UnitsInContext));data_->setArgument(8,attr);} } // Function implementations for IfcProjectLibrary @@ -19028,18 +19071,15 @@ Ifc4x3_rc4::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwn const IfcParse::entity& Ifc4x3_rc4::IfcProjectLibrary::declaration() const { return *IFC4X3_RC4_IfcProjectLibrary_type; } const IfcParse::entity& Ifc4x3_rc4::IfcProjectLibrary::Class() { return *IFC4X3_RC4_IfcProjectLibrary_type; } Ifc4x3_rc4::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData* e) : IfcContext((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcProjectLibrary_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcProjectLibrary::IfcProjectLibrary(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_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Phase) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Phase));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_RepresentationContexts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RepresentationContexts)->generalize());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_UnitsInContext));data_->setArgument(8,attr);} } +Ifc4x3_rc4::IfcProjectLibrary::IfcProjectLibrary(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_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Phase) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Phase));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_RepresentationContexts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RepresentationContexts)->generalize());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_UnitsInContext));data_->setArgument(8,attr);} } // Function implementations for IfcProjectOrder -bool Ifc4x3_rc4::IfcProjectOrder::hasPredefinedType() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value Ifc4x3_rc4::IfcProjectOrder::PredefinedType() const { return ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcProjectOrder::setPredefinedType(::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProjectOrderTypeEnum::ToString(v)));data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcProjectOrder::hasStatus() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcProjectOrder::Status() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcProjectOrder::setStatus(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcProjectOrder::hasLongDescription() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcProjectOrder::LongDescription() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcProjectOrder::setLongDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc4::IfcProjectOrder::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } +void Ifc4x3_rc4::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectOrderTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcProjectOrder::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProjectOrder::declaration() const { return *IFC4X3_RC4_IfcProjectOrder_type; } @@ -19048,14 +19088,11 @@ Ifc4x3_rc4::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData* e) : IfcCont Ifc4x3_rc4::IfcProjectOrder::IfcProjectOrder(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::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectOrder_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcProjectOrderTypeEnum::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 IfcProjectedCRS -bool Ifc4x3_rc4::IfcProjectedCRS::hasMapProjection() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcProjectedCRS::MapProjection() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcProjectedCRS::setMapProjection(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcProjectedCRS::hasMapZone() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcProjectedCRS::MapZone() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcProjectedCRS::setMapZone(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcProjectedCRS::hasMapUnit() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcProjectedCRS::MapUnit() const { return (::Ifc4x3_rc4::IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +boost::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapProjection() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +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 (::Ifc4x3_rc4::IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19065,9 +19102,8 @@ Ifc4x3_rc4::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData* e) : IfcCoor Ifc4x3_rc4::IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, ::Ifc4x3_rc4::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectedCRS_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GeodeticDatum) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GeodeticDatum));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_VerticalDatum) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_VerticalDatum));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_MapProjection) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_MapProjection));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_MapZone) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_MapZone));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_MapUnit));data_->setArgument(6,attr);} } // Function implementations for IfcProjectionElement -bool Ifc4x3_rc4::IfcProjectionElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value Ifc4x3_rc4::IfcProjectionElement::PredefinedType() const { return ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcProjectionElement::setPredefinedType(::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProjectionElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc4::IfcProjectionElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectionElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProjectionElement::declaration() const { return *IFC4X3_RC4_IfcProjectionElement_type; } @@ -19076,11 +19112,10 @@ Ifc4x3_rc4::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcProjectionElement::IfcProjectionElement(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::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProjectionElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcProjectionElementTypeEnum::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 IfcProperty -std::string Ifc4x3_rc4::IfcProperty::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcProperty::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcProperty::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcProperty::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcPropertySet::list::ptr Ifc4x3_rc4::IfcProperty::PartOfPset() const { return data_->getInverse(IFC4X3_RC4_IfcPropertySet_type, 4)->as(); } ::Ifc4x3_rc4::IfcPropertyDependencyRelationship::list::ptr Ifc4x3_rc4::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC4X3_RC4_IfcPropertyDependencyRelationship_type, 2)->as(); } @@ -19104,17 +19139,13 @@ Ifc4x3_rc4::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData Ifc4x3_rc4::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyAbstraction_type); } // Function implementations for IfcPropertyBoundedValue -bool Ifc4x3_rc4::IfcPropertyBoundedValue::hasUpperBoundValue() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::UpperBoundValue() const { return (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_rc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPropertyBoundedValue::hasLowerBoundValue() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::LowerBoundValue() const { return (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_rc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcPropertyBoundedValue::hasUnit() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyBoundedValue::Unit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcPropertyBoundedValue::hasSetPointValue() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::SetPointValue() const { return (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_rc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19134,13 +19165,12 @@ 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 (::Ifc4x3_rc4::IfcProperty*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependingProperty() const { return (::Ifc4x3_rc4::IfcProperty*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 (::Ifc4x3_rc4::IfcProperty*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependantProperty() const { return (::Ifc4x3_rc4::IfcProperty*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc4::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcPropertyDependencyRelationship::hasExpression() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcPropertyDependencyRelationship::Expression() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setExpression(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyDependencyRelationship::declaration() const { return *IFC4X3_RC4_IfcPropertyDependencyRelationship_type; } @@ -19149,54 +19179,47 @@ Ifc4x3_rc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship Ifc4x3_rc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc4::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -bool Ifc4x3_rc4::IfcPropertyEnumeratedValue::hasEnumerationValues() const { return !data_->getArgument(2)->isNull(); } -IfcEntityList::ptr Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPropertyEnumeratedValue::hasEnumerationReference() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { return (::Ifc4x3_rc4::IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +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 (::Ifc4x3_rc4::IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_RC4_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_RC4_IfcPropertyEnumeratedValue_type; } Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x3_rc4::IfcPropertyEnumeration::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcEntityList::ptr Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcPropertyEnumeration::setEnumerationValues(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcPropertyEnumeration::hasUnit() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyEnumeration::Unit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +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 (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeration::declaration() const { return *IFC4X3_RC4_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeration::Class() { return *IFC4X3_RC4_IfcPropertyEnumeration_type; } Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyEnumeration_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -bool Ifc4x3_rc4::IfcPropertyListValue::hasListValues() const { return !data_->getArgument(2)->isNull(); } -IfcEntityList::ptr Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcPropertyListValue::setListValues(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPropertyListValue::hasUnit() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyListValue::Unit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +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 (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcPropertyListValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyListValue::declaration() const { return *IFC4X3_RC4_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyListValue::Class() { return *IFC4X3_RC4_IfcPropertyListValue_type; } Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyListValue_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue -bool Ifc4x3_rc4::IfcPropertyReferenceValue::hasUsageName() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcPropertyReferenceValue::UsageName() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcPropertyReferenceValue::setUsageName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPropertyReferenceValue::hasPropertyReference() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcObjectReferenceSelect* Ifc4x3_rc4::IfcPropertyReferenceValue::PropertyReference() const { return (::Ifc4x3_rc4::IfcObjectReferenceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +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 (::Ifc4x3_rc4::IfcObjectReferenceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc4::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19206,14 +19229,14 @@ Ifc4x3_rc4::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstan Ifc4x3_rc4::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x3_rc4::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyReferenceValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UsageName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UsageName));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_PropertyReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertySet -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcPropertySet::HasProperties() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } -void Ifc4x3_rc4::IfcPropertySet::setHasProperties(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } +void Ifc4x3_rc4::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySet::declaration() const { return *IFC4X3_RC4_IfcPropertySet_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySet::Class() { return *IFC4X3_RC4_IfcPropertySet_type; } Ifc4x3_rc4::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData* e) : IfcPropertySetDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertySet_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_HasProperties)->generalize());data_->setArgument(4,attr);} } +Ifc4x3_rc4::IfcPropertySet::IfcPropertySet(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::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_HasProperties)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcPropertySetDefinition @@ -19227,28 +19250,24 @@ Ifc4x3_rc4::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstance Ifc4x3_rc4::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 IfcPropertySetTemplate -bool Ifc4x3_rc4::IfcPropertySetTemplate::hasTemplateType() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_rc4::IfcPropertySetTemplate::TemplateType() const { return ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc4::IfcPropertySetTemplate::setTemplateType(::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::ToString(v)));data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcPropertySetTemplate::hasApplicableEntity() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcPropertySetTemplate::ApplicableEntity() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcPropertySetTemplate::setApplicableEntity(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr Ifc4x3_rc4::IfcPropertySetTemplate::HasPropertyTemplates() const { IfcEntityList::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } -void Ifc4x3_rc4::IfcPropertySetTemplate::setHasPropertyTemplates(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(6,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc4::IfcPropertySetTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } +void Ifc4x3_rc4::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcPropertySetTemplate::ApplicableEntity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr Ifc4x3_rc4::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } +void Ifc4x3_rc4::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcRelDefinesByTemplate::list::ptr Ifc4x3_rc4::IfcPropertySetTemplate::Defines() const { return data_->getInverse(IFC4X3_RC4_IfcRelDefinesByTemplate_type, 5)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetTemplate::declaration() const { return *IFC4X3_RC4_IfcPropertySetTemplate_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetTemplate::Class() { return *IFC4X3_RC4_IfcPropertySetTemplate_type; } Ifc4x3_rc4::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData* e) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertySetTemplate_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 -bool Ifc4x3_rc4::IfcPropertySingleValue::hasNominalValue() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertySingleValue::NominalValue() const { return (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcValue*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcPropertySingleValue::setNominalValue(::Ifc4x3_rc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPropertySingleValue::hasUnit() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertySingleValue::Unit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcPropertySingleValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19258,30 +19277,24 @@ Ifc4x3_rc4::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData Ifc4x3_rc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue* v3_NominalValue, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySingleValue_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_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -bool Ifc4x3_rc4::IfcPropertyTableValue::hasDefiningValues() const { return !data_->getArgument(2)->isNull(); } -IfcEntityList::ptr Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcPropertyTableValue::hasDefinedValues() const { return !data_->getArgument(3)->isNull(); } -IfcEntityList::ptr Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcPropertyTableValue::hasExpression() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcPropertyTableValue::Expression() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcPropertyTableValue::setExpression(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcPropertyTableValue::hasDefiningUnit() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } +void Ifc4x3_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 (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcPropertyTableValue::hasDefinedUnit() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefinedUnit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcPropertyTableValue::hasCurveInterpolation() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value Ifc4x3_rc4::IfcPropertyTableValue::CurveInterpolation() const { return ::Ifc4x3_rc4::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcPropertyTableValue::setCurveInterpolation(::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);} } +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);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC4_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::Class() { return *IFC4X3_RC4_IfcPropertyTableValue_type; } Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPropertyTableValue_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3_rc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -19302,9 +19315,8 @@ Ifc4x3_rc4::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEnti Ifc4x3_rc4::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyTemplateDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::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 IfcProtectiveDevice -bool Ifc4x3_rc4::IfcProtectiveDevice::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDevice::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcProtectiveDevice::setPredefinedType(::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDevice::declaration() const { return *IFC4X3_RC4_IfcProtectiveDevice_type; } @@ -19313,9 +19325,8 @@ Ifc4x3_rc4::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcProtectiveDevice::IfcProtectiveDevice(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::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcProtectiveDeviceTypeEnum::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 IfcProtectiveDeviceTrippingUnit -bool Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::declaration() const { return *IFC4X3_RC4_IfcProtectiveDeviceTrippingUnit_type; } @@ -19324,31 +19335,30 @@ Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(Ifc Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(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::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDeviceTrippingUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcProtectiveDeviceTrippingUnitTypeEnum::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 IfcProtectiveDeviceTrippingUnitType -::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::Class() { return *IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitType_type; } Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(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::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDeviceTrippingUnitType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcProtectiveDeviceType -::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceType::declaration() const { return *IFC4X3_RC4_IfcProtectiveDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceType::Class() { return *IFC4X3_RC4_IfcProtectiveDeviceType_type; } Ifc4x3_rc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcProtectiveDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(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::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProtectiveDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcProxy -::Ifc4x3_rc4::IfcObjectTypeEnum::Value Ifc4x3_rc4::IfcProxy::ProxyType() const { return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } +::Ifc4x3_rc4::IfcObjectTypeEnum::Value Ifc4x3_rc4::IfcProxy::ProxyType() const { return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcProxy::setProxyType(::Ifc4x3_rc4::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcProxy::hasTag() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcProxy::Tag() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcProxy::setTag(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProxy::declaration() const { return *IFC4X3_RC4_IfcProxy_type; } @@ -19357,9 +19367,8 @@ Ifc4x3_rc4::IfcProxy::IfcProxy(IfcEntityInstanceData* e) : IfcProduct((IfcEntity Ifc4x3_rc4::IfcProxy::IfcProxy(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::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProxy_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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((IfcWrite::IfcWriteArgument::EnumerationReference(v8_ProxyType,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(v8_ProxyType))));data_->setArgument(7,attr);} if (v9_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Tag));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcPump -bool Ifc4x3_rc4::IfcPump::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcPumpTypeEnum::Value Ifc4x3_rc4::IfcPump::PredefinedType() const { return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPump::setPredefinedType(::Ifc4x3_rc4::IfcPumpTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPumpTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > Ifc4x3_rc4::IfcPump::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPumpTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPump::declaration() const { return *IFC4X3_RC4_IfcPump_type; } @@ -19368,21 +19377,20 @@ Ifc4x3_rc4::IfcPump::IfcPump(IfcEntityInstanceData* e) : IfcFlowMovingDevice((If Ifc4x3_rc4::IfcPump::IfcPump(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::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPump_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPumpTypeEnum::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 IfcPumpType -::Ifc4x3_rc4::IfcPumpTypeEnum::Value Ifc4x3_rc4::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcPumpTypeEnum::Value Ifc4x3_rc4::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcPumpType::setPredefinedType(::Ifc4x3_rc4::IfcPumpTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPumpTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPumpType::declaration() const { return *IFC4X3_RC4_IfcPumpType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcPumpType::Class() { return *IFC4X3_RC4_IfcPumpType_type; } Ifc4x3_rc4::IfcPumpType::IfcPumpType(IfcEntityInstanceData* e) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcPumpType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcPumpType::IfcPumpType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPumpType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPumpTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcPumpType::IfcPumpType(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::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPumpType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcPumpTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcQuantityArea -double Ifc4x3_rc4::IfcQuantityArea::AreaValue() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcQuantityArea::AreaValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityArea::setAreaValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcQuantityArea::hasFormula() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcQuantityArea::Formula() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcQuantityArea::setFormula(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityArea::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityArea::declaration() const { return *IFC4X3_RC4_IfcQuantityArea_type; } @@ -19391,11 +19399,10 @@ Ifc4x3_rc4::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData* e) : IfcPhys Ifc4x3_rc4::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcQuantityArea_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_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_AreaValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcQuantityCount -double Ifc4x3_rc4::IfcQuantityCount::CountValue() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcQuantityCount::CountValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityCount::setCountValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcQuantityCount::hasFormula() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcQuantityCount::Formula() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcQuantityCount::setFormula(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityCount::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityCount::declaration() const { return *IFC4X3_RC4_IfcQuantityCount_type; } @@ -19404,11 +19411,10 @@ Ifc4x3_rc4::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData* e) : IfcPh Ifc4x3_rc4::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcQuantityCount_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_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CountValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcQuantityLength -double Ifc4x3_rc4::IfcQuantityLength::LengthValue() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcQuantityLength::LengthValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityLength::setLengthValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcQuantityLength::hasFormula() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcQuantityLength::Formula() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcQuantityLength::setFormula(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityLength::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityLength::declaration() const { return *IFC4X3_RC4_IfcQuantityLength_type; } @@ -19425,11 +19431,10 @@ Ifc4x3_rc4::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData* e) : IfcProper Ifc4x3_rc4::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcQuantitySet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::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 IfcQuantityTime -double Ifc4x3_rc4::IfcQuantityTime::TimeValue() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcQuantityTime::TimeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityTime::setTimeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcQuantityTime::hasFormula() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcQuantityTime::Formula() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcQuantityTime::setFormula(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityTime::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityTime::declaration() const { return *IFC4X3_RC4_IfcQuantityTime_type; } @@ -19438,11 +19443,10 @@ Ifc4x3_rc4::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData* e) : IfcPhys Ifc4x3_rc4::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcQuantityTime_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_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TimeValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcQuantityVolume -double Ifc4x3_rc4::IfcQuantityVolume::VolumeValue() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcQuantityVolume::VolumeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityVolume::setVolumeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcQuantityVolume::hasFormula() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcQuantityVolume::Formula() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcQuantityVolume::setFormula(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityVolume::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityVolume::declaration() const { return *IFC4X3_RC4_IfcQuantityVolume_type; } @@ -19451,11 +19455,10 @@ Ifc4x3_rc4::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcQuantityVolume_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_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_VolumeValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcQuantityWeight -double Ifc4x3_rc4::IfcQuantityWeight::WeightValue() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcQuantityWeight::WeightValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityWeight::setWeightValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcQuantityWeight::hasFormula() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcQuantityWeight::Formula() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcQuantityWeight::setFormula(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityWeight::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityWeight::declaration() const { return *IFC4X3_RC4_IfcQuantityWeight_type; } @@ -19464,9 +19467,8 @@ Ifc4x3_rc4::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcQuantityWeight_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_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_WeightValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcRail -bool Ifc4x3_rc4::IfcRail::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcRailTypeEnum::Value Ifc4x3_rc4::IfcRail::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRail::setPredefinedType(::Ifc4x3_rc4::IfcRailTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRailTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > Ifc4x3_rc4::IfcRail::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRailTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRail::declaration() const { return *IFC4X3_RC4_IfcRail_type; } @@ -19475,19 +19477,18 @@ Ifc4x3_rc4::IfcRail::IfcRail(IfcEntityInstanceData* e) : IfcBuiltElement((IfcEnt Ifc4x3_rc4::IfcRail::IfcRail(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::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRail_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRailTypeEnum::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 IfcRailType -::Ifc4x3_rc4::IfcRailTypeEnum::Value Ifc4x3_rc4::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcRailTypeEnum::Value Ifc4x3_rc4::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcRailType::setPredefinedType(::Ifc4x3_rc4::IfcRailTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRailTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRailType::declaration() const { return *IFC4X3_RC4_IfcRailType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRailType::Class() { return *IFC4X3_RC4_IfcRailType_type; } Ifc4x3_rc4::IfcRailType::IfcRailType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRailType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRailType::IfcRailType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRailTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcRailType::IfcRailType(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::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRailTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcRailing -bool Ifc4x3_rc4::IfcRailing::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcRailingTypeEnum::Value Ifc4x3_rc4::IfcRailing::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRailing::setPredefinedType(::Ifc4x3_rc4::IfcRailingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRailingTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > Ifc4x3_rc4::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRailingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRailing::declaration() const { return *IFC4X3_RC4_IfcRailing_type; } @@ -19496,19 +19497,18 @@ Ifc4x3_rc4::IfcRailing::IfcRailing(IfcEntityInstanceData* e) : IfcBuiltElement(( Ifc4x3_rc4::IfcRailing::IfcRailing(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::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailing_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRailingTypeEnum::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 IfcRailingType -::Ifc4x3_rc4::IfcRailingTypeEnum::Value Ifc4x3_rc4::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcRailingTypeEnum::Value Ifc4x3_rc4::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcRailingType::setPredefinedType(::Ifc4x3_rc4::IfcRailingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRailingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRailingType::declaration() const { return *IFC4X3_RC4_IfcRailingType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRailingType::Class() { return *IFC4X3_RC4_IfcRailingType_type; } Ifc4x3_rc4::IfcRailingType::IfcRailingType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRailingType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRailingType::IfcRailingType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRailingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcRailingType::IfcRailingType(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::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRailingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcRailway -bool Ifc4x3_rc4::IfcRailway::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcRailwayTypeEnum::Value Ifc4x3_rc4::IfcRailway::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailwayTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcRailway::setPredefinedType(::Ifc4x3_rc4::IfcRailwayTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRailwayTypeEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > Ifc4x3_rc4::IfcRailway::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailwayTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRailwayTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRailway::declaration() const { return *IFC4X3_RC4_IfcRailway_type; } @@ -19517,9 +19517,8 @@ Ifc4x3_rc4::IfcRailway::IfcRailway(IfcEntityInstanceData* e) : IfcFacility((IfcE Ifc4x3_rc4::IfcRailway::IfcRailway(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, boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRailway_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcRailwayTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcRamp -bool Ifc4x3_rc4::IfcRamp::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcRampTypeEnum::Value Ifc4x3_rc4::IfcRamp::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRamp::setPredefinedType(::Ifc4x3_rc4::IfcRampTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRampTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > Ifc4x3_rc4::IfcRamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRamp::declaration() const { return *IFC4X3_RC4_IfcRamp_type; } @@ -19528,9 +19527,8 @@ Ifc4x3_rc4::IfcRamp::IfcRamp(IfcEntityInstanceData* e) : IfcBuiltElement((IfcEnt Ifc4x3_rc4::IfcRamp::IfcRamp(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::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRamp_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRampTypeEnum::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 IfcRampFlight -bool Ifc4x3_rc4::IfcRampFlight::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value Ifc4x3_rc4::IfcRampFlight::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRampFlight::setPredefinedType(::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRampFlightTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > Ifc4x3_rc4::IfcRampFlight::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRampFlightTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRampFlight::declaration() const { return *IFC4X3_RC4_IfcRampFlight_type; } @@ -19539,54 +19537,52 @@ Ifc4x3_rc4::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData* e) : IfcBuiltEle Ifc4x3_rc4::IfcRampFlight::IfcRampFlight(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::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRampFlight_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRampFlightTypeEnum::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 IfcRampFlightType -::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value Ifc4x3_rc4::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value Ifc4x3_rc4::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcRampFlightType::setPredefinedType(::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRampFlightTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRampFlightType::declaration() const { return *IFC4X3_RC4_IfcRampFlightType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRampFlightType::Class() { return *IFC4X3_RC4_IfcRampFlightType_type; } Ifc4x3_rc4::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRampFlightType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRampFlightType::IfcRampFlightType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRampFlightType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRampFlightTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcRampFlightType::IfcRampFlightType(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::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRampFlightType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRampFlightTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcRampType -::Ifc4x3_rc4::IfcRampTypeEnum::Value Ifc4x3_rc4::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcRampTypeEnum::Value Ifc4x3_rc4::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcRampType::setPredefinedType(::Ifc4x3_rc4::IfcRampTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRampTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRampType::declaration() const { return *IFC4X3_RC4_IfcRampType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRampType::Class() { return *IFC4X3_RC4_IfcRampType_type; } Ifc4x3_rc4::IfcRampType::IfcRampType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRampType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRampType::IfcRampType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRampType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRampTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcRampType::IfcRampType(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::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRampType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRampTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::WeightsData() const { return *data_->getArgument(8); } +std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::declaration() const { return *IFC4X3_RC4_IfcRationalBSplineCurveWithKnots_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::Class() { return *IFC4X3_RC4_IfcRationalBSplineCurveWithKnots_type; } Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData* e) : IfcBSplineCurveWithKnots((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRationalBSplineCurveWithKnots_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRationalBSplineCurveWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Degree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ControlPointsList)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_CurveForm,::Ifc4x3_rc4::IfcBSplineCurveForm::ToString(v3_CurveForm))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ClosedCurve));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SelfIntersect));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_KnotMultiplicities));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Knots));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_KnotSpec,::Ifc4x3_rc4::IfcKnotType::ToString(v8_KnotSpec))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_WeightsData));data_->setArgument(8,attr);} } +Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRationalBSplineCurveWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Degree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ControlPointsList)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_CurveForm,::Ifc4x3_rc4::IfcBSplineCurveForm::ToString(v3_CurveForm))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ClosedCurve));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SelfIntersect));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_KnotMultiplicities));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Knots));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_KnotSpec,::Ifc4x3_rc4::IfcKnotType::ToString(v8_KnotSpec))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_WeightsData));data_->setArgument(8,attr);} } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { return *data_->getArgument(12); } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = *data_->getArgument(12); return v; } void Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *IFC4X3_RC4_IfcRationalBSplineSurfaceWithKnots_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::Class() { return *IFC4X3_RC4_IfcRationalBSplineSurfaceWithKnots_type; } Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData* e) : IfcBSplineSurfaceWithKnots((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRationalBSplineSurfaceWithKnots_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRationalBSplineSurfaceWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_UDegree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VDegree));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ControlPointsList)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_SurfaceForm,::Ifc4x3_rc4::IfcBSplineSurfaceForm::ToString(v4_SurfaceForm))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_UClosed));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_VClosed));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SelfIntersect));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_UMultiplicities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_VMultiplicities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_UKnots));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_VKnots));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_KnotSpec,::Ifc4x3_rc4::IfcKnotType::ToString(v12_KnotSpec))));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_WeightsData));data_->setArgument(12,attr);} } +Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRationalBSplineSurfaceWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_UDegree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VDegree));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ControlPointsList)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_SurfaceForm,::Ifc4x3_rc4::IfcBSplineSurfaceForm::ToString(v4_SurfaceForm))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_UClosed));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_VClosed));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SelfIntersect));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_UMultiplicities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_VMultiplicities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_UKnots));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_VKnots));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_KnotSpec,::Ifc4x3_rc4::IfcKnotType::ToString(v12_KnotSpec))));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_WeightsData));data_->setArgument(12,attr);} } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x3_rc4::IfcRectangleHollowProfileDef::WallThickness() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcRectangleHollowProfileDef::hasInnerFilletRadius() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setInnerFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcRectangleHollowProfileDef::hasOuterFilletRadius() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRectangleHollowProfileDef::declaration() const { return *IFC4X3_RC4_IfcRectangleHollowProfileDef_type; } @@ -19595,9 +19591,9 @@ Ifc4x3_rc4::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntity Ifc4x3_rc4::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRectangleHollowProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_XDim));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_YDim));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WallThickness));data_->setArgument(5,attr);} if (v7_InnerFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_InnerFilletRadius));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_OuterFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_OuterFilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcRectangleProfileDef -double Ifc4x3_rc4::IfcRectangleProfileDef::XDim() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcRectangleProfileDef::XDim() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcRectangleProfileDef::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcRectangleProfileDef::YDim() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcRectangleProfileDef::YDim() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcRectangleProfileDef::setYDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19607,11 +19603,11 @@ Ifc4x3_rc4::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData Ifc4x3_rc4::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRectangleProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_XDim));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_YDim));data_->setArgument(4,attr);} } // Function implementations for IfcRectangularPyramid -double Ifc4x3_rc4::IfcRectangularPyramid::XLength() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcRectangularPyramid::XLength() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcRectangularPyramid::setXLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcRectangularPyramid::YLength() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcRectangularPyramid::YLength() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcRectangularPyramid::setYLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -double Ifc4x3_rc4::IfcRectangularPyramid::Height() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcRectangularPyramid::Height() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcRectangularPyramid::setHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19621,19 +19617,19 @@ 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 (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcRectangularTrimmedSurface::BasisSurface() const { return (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } -double Ifc4x3_rc4::IfcRectangularTrimmedSurface::V1() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcRectangularTrimmedSurface::V1() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setV1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -double Ifc4x3_rc4::IfcRectangularTrimmedSurface::U2() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcRectangularTrimmedSurface::U2() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setU2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcRectangularTrimmedSurface::V2() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcRectangularTrimmedSurface::V2() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setV2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcRectangularTrimmedSurface::Usense() const { return *data_->getArgument(5); } +bool Ifc4x3_rc4::IfcRectangularTrimmedSurface::Usense() const { bool v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setUsense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcRectangularTrimmedSurface::Vsense() const { return *data_->getArgument(6); } +bool Ifc4x3_rc4::IfcRectangularTrimmedSurface::Vsense() const { bool v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setVsense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19643,51 +19639,39 @@ Ifc4x3_rc4::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntity Ifc4x3_rc4::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_rc4::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(IFC4X3_RC4_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 IfcRecurrencePattern -::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value Ifc4x3_rc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc4::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } +::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value Ifc4x3_rc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc4::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRecurrenceTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcRecurrencePattern::hasDayComponent() const { return !data_->getArgument(1)->isNull(); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcRecurrencePattern::DayComponent() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcRecurrencePattern::setDayComponent(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcRecurrencePattern::hasWeekdayComponent() const { return !data_->getArgument(2)->isNull(); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcRecurrencePattern::WeekdayComponent() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcRecurrencePattern::setWeekdayComponent(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcRecurrencePattern::hasMonthComponent() const { return !data_->getArgument(3)->isNull(); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcRecurrencePattern::MonthComponent() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcRecurrencePattern::setMonthComponent(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcRecurrencePattern::hasPosition() const { return !data_->getArgument(4)->isNull(); } -int Ifc4x3_rc4::IfcRecurrencePattern::Position() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcRecurrencePattern::setPosition(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcRecurrencePattern::hasInterval() const { return !data_->getArgument(5)->isNull(); } -int Ifc4x3_rc4::IfcRecurrencePattern::Interval() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcRecurrencePattern::setInterval(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcRecurrencePattern::hasOccurrences() const { return !data_->getArgument(6)->isNull(); } -int Ifc4x3_rc4::IfcRecurrencePattern::Occurrences() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcRecurrencePattern::setOccurrences(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcRecurrencePattern::hasTimePeriods() const { return !data_->getArgument(7)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimePeriod >::ptr Ifc4x3_rc4::IfcRecurrencePattern::TimePeriods() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcTimePeriod >(); } -void Ifc4x3_rc4::IfcRecurrencePattern::setTimePeriods(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimePeriod >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::DayComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::WeekdayComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::MonthComponent() 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::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Position() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Interval() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } int v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Occurrences() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > Ifc4x3_rc4::IfcRecurrencePattern::TimePeriods() 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::IfcTimePeriod >(); } +void Ifc4x3_rc4::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRecurrencePattern::declaration() const { return *IFC4X3_RC4_IfcRecurrencePattern_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRecurrencePattern::Class() { return *IFC4X3_RC4_IfcRecurrencePattern_type; } Ifc4x3_rc4::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRecurrencePattern_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, boost::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, boost::optional< int > v5_Position, boost::optional< int > v6_Interval, boost::optional< int > v7_Occurrences, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRecurrencePattern_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_RecurrenceType,::Ifc4x3_rc4::IfcRecurrenceTypeEnum::ToString(v1_RecurrenceType))));data_->setArgument(0,attr);} if (v2_DayComponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DayComponent));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_WeekdayComponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_WeekdayComponent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MonthComponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MonthComponent));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Position) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Position));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Interval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Interval));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Occurrences) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Occurrences));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_TimePeriods) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TimePeriods)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3_rc4::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, boost::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, boost::optional< int > v5_Position, boost::optional< int > v6_Interval, boost::optional< int > v7_Occurrences, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRecurrencePattern_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_RecurrenceType,::Ifc4x3_rc4::IfcRecurrenceTypeEnum::ToString(v1_RecurrenceType))));data_->setArgument(0,attr);} if (v2_DayComponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DayComponent));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_WeekdayComponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_WeekdayComponent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MonthComponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MonthComponent));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Position) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Position));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Interval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Interval));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Occurrences) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Occurrences));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_TimePeriods) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TimePeriods)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcReference -bool Ifc4x3_rc4::IfcReference::hasTypeIdentifier() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcReference::TypeIdentifier() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcReference::setTypeIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcReference::hasAttributeIdentifier() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcReference::AttributeIdentifier() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcReference::setAttributeIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcReference::hasInstanceName() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcReference::InstanceName() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcReference::setInstanceName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcReference::hasListPositions() const { return !data_->getArgument(3)->isNull(); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcReference::ListPositions() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcReference::setListPositions(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcReference::hasInnerReference() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcReference::InnerReference() const { return (::Ifc4x3_rc4::IfcReference*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +boost::optional< std::string > Ifc4x3_rc4::IfcReference::TypeIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcReference::AttributeIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcReference::InstanceName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +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 (::Ifc4x3_rc4::IfcReference*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcReference::setInnerReference(::Ifc4x3_rc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19697,12 +19681,10 @@ Ifc4x3_rc4::IfcReference::IfcReference(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x3_rc4::IfcReference::IfcReference(boost::optional< std::string > v1_TypeIdentifier, boost::optional< std::string > v2_AttributeIdentifier, boost::optional< std::string > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc4::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReference_type); if (v1_TypeIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_TypeIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_AttributeIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_AttributeIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_InstanceName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InstanceName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ListPositions) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ListPositions));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_InnerReference));data_->setArgument(4,attr);} } // Function implementations for IfcReferent -bool Ifc4x3_rc4::IfcReferent::hasPredefinedType() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcReferentTypeEnum::Value Ifc4x3_rc4::IfcReferent::PredefinedType() const { return ::Ifc4x3_rc4::IfcReferentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcReferent::setPredefinedType(::Ifc4x3_rc4::IfcReferentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReferentTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcReferent::hasRestartDistance() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcReferent::RestartDistance() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcReferent::setRestartDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > Ifc4x3_rc4::IfcReferent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReferentTypeEnum::FromString(*data_->getArgument(7)); } +void Ifc4x3_rc4::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReferentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReferent::RestartDistance() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReferent::declaration() const { return *IFC4X3_RC4_IfcReferent_type; } @@ -19711,21 +19693,20 @@ Ifc4x3_rc4::IfcReferent::IfcReferent(IfcEntityInstanceData* e) : IfcPositioningE Ifc4x3_rc4::IfcReferent::IfcReferent(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::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReferent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcReferentTypeEnum::ToString(*v8_PredefinedType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_RestartDistance) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_RestartDistance));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRegularTimeSeries -double Ifc4x3_rc4::IfcRegularTimeSeries::TimeStep() const { return *data_->getArgument(8); } +double Ifc4x3_rc4::IfcRegularTimeSeries::TimeStep() const { double v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcRegularTimeSeries::setTimeStep(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr Ifc4x3_rc4::IfcRegularTimeSeries::Values() const { IfcEntityList::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcTimeSeriesValue >(); } -void Ifc4x3_rc4::IfcRegularTimeSeries::setValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(9,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr Ifc4x3_rc4::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcTimeSeriesValue >(); } +void Ifc4x3_rc4::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRegularTimeSeries::declaration() const { return *IFC4X3_RC4_IfcRegularTimeSeries_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRegularTimeSeries::Class() { return *IFC4X3_RC4_IfcRegularTimeSeries_type; } Ifc4x3_rc4::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData* e) : IfcTimeSeries((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRegularTimeSeries_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRegularTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc4::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_TimeStep));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Values)->generalize());data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRegularTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc4::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_TimeStep));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Values)->generalize());data_->setArgument(9,attr);} } // Function implementations for IfcReinforcedSoil -bool Ifc4x3_rc4::IfcReinforcedSoil::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value Ifc4x3_rc4::IfcReinforcedSoil::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcReinforcedSoil::setPredefinedType(::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc4::IfcReinforcedSoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcedSoil::declaration() const { return *IFC4X3_RC4_IfcReinforcedSoil_type; } @@ -19734,22 +19715,18 @@ Ifc4x3_rc4::IfcReinforcedSoil::IfcReinforcedSoil(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcReinforcedSoil::IfcReinforcedSoil(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::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcedSoil_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcReinforcedSoilTypeEnum::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 IfcReinforcementBarProperties -double Ifc4x3_rc4::IfcReinforcementBarProperties::TotalCrossSectionArea() const { return *data_->getArgument(0); } +double Ifc4x3_rc4::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -std::string Ifc4x3_rc4::IfcReinforcementBarProperties::SteelGrade() const { return *data_->getArgument(1); } +std::string Ifc4x3_rc4::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcReinforcementBarProperties::hasBarSurface() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_rc4::IfcReinforcementBarProperties::BarSurface() const { return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarSurface(::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(v)));data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcReinforcementBarProperties::hasEffectiveDepth() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcReinforcementBarProperties::EffectiveDepth() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcReinforcementBarProperties::setEffectiveDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcReinforcementBarProperties::hasNominalBarDiameter() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcReinforcementBarProperties::NominalBarDiameter() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcReinforcementBarProperties::setNominalBarDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcReinforcementBarProperties::hasBarCount() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcReinforcementBarProperties::BarCount() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarCount(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } +void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcementBarProperties::declaration() const { return *IFC4X3_RC4_IfcReinforcementBarProperties_type; } @@ -19758,34 +19735,28 @@ Ifc4x3_rc4::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEnti Ifc4x3_rc4::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcementBarProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TotalCrossSectionArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SteelGrade));data_->setArgument(1,attr);} if (v3_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_BarSurface,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EffectiveDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EffectiveDepth));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_NominalBarDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_NominalBarDiameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_BarCount) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_BarCount));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcReinforcementDefinitionProperties -bool Ifc4x3_rc4::IfcReinforcementDefinitionProperties::hasDefinitionType() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcReinforcementDefinitionProperties::DefinitionType() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setDefinitionType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >(); } -void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >(); } +void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcementDefinitionProperties::declaration() const { return *IFC4X3_RC4_IfcReinforcementDefinitionProperties_type; } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcementDefinitionProperties::Class() { return *IFC4X3_RC4_IfcReinforcementDefinitionProperties_type; } Ifc4x3_rc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData* e) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcReinforcementDefinitionProperties_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(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_DefinitionType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcementDefinitionProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_DefinitionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_DefinitionType));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_ReinforcementSectionDefinitions)->generalize());data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(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_DefinitionType, aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcementDefinitionProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_DefinitionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_DefinitionType));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_ReinforcementSectionDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcReinforcingBar -bool Ifc4x3_rc4::IfcReinforcingBar::hasNominalDiameter() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingBar::NominalDiameter() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcReinforcingBar::setNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBar::hasCrossSectionArea() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingBar::CrossSectionArea() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcReinforcingBar::setCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBar::hasBarLength() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingBar::BarLength() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcReinforcingBar::setBarLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBar::hasPredefinedType() const { return !data_->getArgument(12)->isNull(); } -::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc4::IfcReinforcingBar::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc4::IfcReinforcingBar::setPredefinedType(::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBar::hasBarSurface() const { return !data_->getArgument(13)->isNull(); } -::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_rc4::IfcReinforcingBar::BarSurface() const { return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc4::IfcReinforcingBar::setBarSurface(::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(v)));data_->setArgument(13,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::NominalDiameter() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::CrossSectionArea() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc4::IfcReinforcingBar::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } +void Ifc4x3_rc4::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } +void Ifc4x3_rc4::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBar::declaration() const { return *IFC4X3_RC4_IfcReinforcingBar_type; } @@ -19794,37 +19765,30 @@ Ifc4x3_rc4::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcReinforcingBar::IfcReinforcingBar(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< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBar_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_NominalDiameter));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CrossSectionArea));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_BarLength));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v13_PredefinedType,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(*v13_PredefinedType))));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcReinforcingBarType -::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBarType::hasNominalDiameter() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingBarType::NominalDiameter() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcReinforcingBarType::setNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBarType::hasCrossSectionArea() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingBarType::CrossSectionArea() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcReinforcingBarType::setCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBarType::hasBarLength() const { return !data_->getArgument(12)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingBarType::BarLength() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcReinforcingBarType::setBarLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBarType::hasBarSurface() const { return !data_->getArgument(13)->isNull(); } -::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_rc4::IfcReinforcingBarType::BarSurface() const { return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc4::IfcReinforcingBarType::setBarSurface(::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(v)));data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBarType::hasBendingShapeCode() const { return !data_->getArgument(14)->isNull(); } -std::string Ifc4x3_rc4::IfcReinforcingBarType::BendingShapeCode() const { return *data_->getArgument(14); } -void Ifc4x3_rc4::IfcReinforcingBarType::setBendingShapeCode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -bool Ifc4x3_rc4::IfcReinforcingBarType::hasBendingParameters() const { return !data_->getArgument(15)->isNull(); } -IfcEntityList::ptr Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { return *data_->getArgument(15); } -void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::BarLength() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcingBarType::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } +void Ifc4x3_rc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } +void Ifc4x3_rc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } +void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC4_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBarType::Class() { return *IFC4X3_RC4_IfcReinforcingBarType_type; } Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcReinforcingBarType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(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::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement -bool Ifc4x3_rc4::IfcReinforcingElement::hasSteelGrade() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcReinforcingElement::SteelGrade() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcReinforcingElement::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingElement::declaration() const { return *IFC4X3_RC4_IfcReinforcingElement_type; } @@ -19838,36 +19802,27 @@ Ifc4x3_rc4::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingElementType::declaration() const { return *IFC4X3_RC4_IfcReinforcingElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingElementType::Class() { return *IFC4X3_RC4_IfcReinforcingElementType_type; } Ifc4x3_rc4::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcReinforcingElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcReinforcingElementType::IfcReinforcingElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcReinforcingElementType::IfcReinforcingElementType(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) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcReinforcingMesh -bool Ifc4x3_rc4::IfcReinforcingMesh::hasMeshLength() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMesh::MeshLength() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcReinforcingMesh::setMeshLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMesh::hasMeshWidth() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMesh::MeshWidth() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcReinforcingMesh::setMeshWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMesh::hasLongitudinalBarNominalDiameter() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMesh::hasTransverseBarNominalDiameter() const { return !data_->getArgument(12)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMesh::hasLongitudinalBarCrossSectionArea() const { return !data_->getArgument(13)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *data_->getArgument(13); } -void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMesh::hasTransverseBarCrossSectionArea() const { return !data_->getArgument(14)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *data_->getArgument(14); } -void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMesh::hasLongitudinalBarSpacing() const { return !data_->getArgument(15)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarSpacing() const { return *data_->getArgument(15); } -void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarSpacing(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMesh::hasTransverseBarSpacing() const { return !data_->getArgument(16)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarSpacing() const { return *data_->getArgument(16); } -void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarSpacing(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(16,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMesh::hasPredefinedType() const { return !data_->getArgument(17)->isNull(); } -::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc4::IfcReinforcingMesh::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } -void Ifc4x3_rc4::IfcReinforcingMesh::setPredefinedType(::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(17,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } +void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } +void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } +void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } +void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc4::IfcReinforcingMesh::PredefinedType() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } +void Ifc4x3_rc4::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(*v)));data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMesh::declaration() const { return *IFC4X3_RC4_IfcReinforcingMesh_type; } @@ -19876,228 +19831,226 @@ Ifc4x3_rc4::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcReinforcingMesh::IfcReinforcingMesh(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< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, boost::optional< double > v12_LongitudinalBarNominalDiameter, boost::optional< double > v13_TransverseBarNominalDiameter, boost::optional< double > v14_LongitudinalBarCrossSectionArea, boost::optional< double > v15_TransverseBarCrossSectionArea, boost::optional< double > v16_LongitudinalBarSpacing, boost::optional< double > v17_TransverseBarSpacing, boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingMesh_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_MeshLength));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshWidth));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LongitudinalBarNominalDiameter));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TransverseBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_LongitudinalBarCrossSectionArea));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_TransverseBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_LongitudinalBarSpacing));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_TransverseBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v18_PredefinedType,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(*v18_PredefinedType))));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcReinforcingMeshType -::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasMeshLength() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMeshType::MeshLength() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasMeshWidth() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMeshType::MeshWidth() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasLongitudinalBarNominalDiameter() const { return !data_->getArgument(12)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasTransverseBarNominalDiameter() const { return !data_->getArgument(13)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { return *data_->getArgument(13); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasLongitudinalBarCrossSectionArea() const { return !data_->getArgument(14)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { return *data_->getArgument(14); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasTransverseBarCrossSectionArea() const { return !data_->getArgument(15)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { return *data_->getArgument(15); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasLongitudinalBarSpacing() const { return !data_->getArgument(16)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarSpacing() const { return *data_->getArgument(16); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarSpacing(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(16,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasTransverseBarSpacing() const { return !data_->getArgument(17)->isNull(); } -double Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarSpacing() const { return *data_->getArgument(17); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarSpacing(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(17,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasBendingShapeCode() const { return !data_->getArgument(18)->isNull(); } -std::string Ifc4x3_rc4::IfcReinforcingMeshType::BendingShapeCode() const { return *data_->getArgument(18); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingShapeCode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(18,attr);} } -bool Ifc4x3_rc4::IfcReinforcingMeshType::hasBendingParameters() const { return !data_->getArgument(19)->isNull(); } -IfcEntityList::ptr Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { return *data_->getArgument(19); } -void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(19,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::MeshLength() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::MeshWidth() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarSpacing() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } +void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC4_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMeshType::Class() { return *IFC4X3_RC4_IfcReinforcingMeshType_type; } Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcReinforcingMeshType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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< IfcEntityList::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); } } +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 (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +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);} } + + +const IfcParse::entity& Ifc4x3_rc4::IfcRelAdheresToElement::declaration() const { return *IFC4X3_RC4_IfcRelAdheresToElement_type; } +const IfcParse::entity& Ifc4x3_rc4::IfcRelAdheresToElement::Class() { return *IFC4X3_RC4_IfcRelAdheresToElement_type; } +Ifc4x3_rc4::IfcRelAdheresToElement::IfcRelAdheresToElement(IfcEntityInstanceData* e) : IfcRelDecomposes((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAdheresToElement_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } +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 (::Ifc4x3_rc4::IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelAggregates::RelatingObject() const { return (::Ifc4x3_rc4::IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcRelAggregates::setRelatingObject(::Ifc4x3_rc4::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelAggregates::RelatedObjects() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } -void Ifc4x3_rc4::IfcRelAggregates::setRelatedObjects(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAggregates::declaration() const { return *IFC4X3_RC4_IfcRelAggregates_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAggregates::Class() { return *IFC4X3_RC4_IfcRelAggregates_type; } Ifc4x3_rc4::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData* e) : IfcRelDecomposes((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAggregates_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAggregates::IfcRelAggregates(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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAggregates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } 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);} } +Ifc4x3_rc4::IfcRelAggregates::IfcRelAggregates(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_IfcRelAggregates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } 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 IfcRelAssigns -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelAssigns::RelatedObjects() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } -void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjects(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcRelAssigns::hasRelatedObjectsType() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcObjectTypeEnum::Value Ifc4x3_rc4::IfcRelAssigns::RelatedObjectsType() const { return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjectsType(::Ifc4x3_rc4::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(v)));data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } +void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > Ifc4x3_rc4::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } +void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssigns::declaration() const { return *IFC4X3_RC4_IfcRelAssigns_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssigns::Class() { return *IFC4X3_RC4_IfcRelAssigns_type; } Ifc4x3_rc4::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssigns_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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); } } +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 (::Ifc4x3_rc4::IfcActor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcActor* Ifc4x3_rc4::IfcRelAssignsToActor::RelatingActor() const { return (::Ifc4x3_rc4::IfcActor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_rc4::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcRelAssignsToActor::hasActingRole() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcActorRole* Ifc4x3_rc4::IfcRelAssignsToActor::ActingRole() const { return (::Ifc4x3_rc4::IfcActorRole*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcActorRole* Ifc4x3_rc4::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcActorRole*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void Ifc4x3_rc4::IfcRelAssignsToActor::setActingRole(::Ifc4x3_rc4::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToActor::declaration() const { return *IFC4X3_RC4_IfcRelAssignsToActor_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToActor::Class() { return *IFC4X3_RC4_IfcRelAssignsToActor_type; } Ifc4x3_rc4::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssignsToActor_type) throw IfcException("Unable to find find keyword in schema"); data_ = 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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcControl*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcControl* Ifc4x3_rc4::IfcRelAssignsToControl::RelatingControl() const { return (::Ifc4x3_rc4::IfcControl*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_rc4::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToControl::declaration() const { return *IFC4X3_RC4_IfcRelAssignsToControl_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToControl::Class() { return *IFC4X3_RC4_IfcRelAssignsToControl_type; } Ifc4x3_rc4::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssignsToControl_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcGroup*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcGroup* Ifc4x3_rc4::IfcRelAssignsToGroup::RelatingGroup() const { return (::Ifc4x3_rc4::IfcGroup*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_rc4::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToGroup::declaration() const { return *IFC4X3_RC4_IfcRelAssignsToGroup_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToGroup::Class() { return *IFC4X3_RC4_IfcRelAssignsToGroup_type; } Ifc4x3_rc4::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssignsToGroup_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::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);} } +Ifc4x3_rc4::IfcRelAssignsToGroup::IfcRelAssignsToGroup(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) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::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);} } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::Factor() const { return *data_->getArgument(7); } +double Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::Factor() const { double v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::setFactor(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::declaration() const { return *IFC4X3_RC4_IfcRelAssignsToGroupByFactor_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::Class() { return *IFC4X3_RC4_IfcRelAssignsToGroupByFactor_type; } Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData* e) : IfcRelAssignsToGroup((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssignsToGroupByFactor_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcProcessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcProcessSelect* Ifc4x3_rc4::IfcRelAssignsToProcess::RelatingProcess() const { return (::Ifc4x3_rc4::IfcProcessSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_rc4::IfcProcessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcRelAssignsToProcess::hasQuantityInProcess() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcRelAssignsToProcess::QuantityInProcess() const { return (::Ifc4x3_rc4::IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void Ifc4x3_rc4::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_rc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToProcess::declaration() const { return *IFC4X3_RC4_IfcRelAssignsToProcess_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToProcess::Class() { return *IFC4X3_RC4_IfcRelAssignsToProcess_type; } Ifc4x3_rc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssignsToProcess_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcProductSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcProductSelect* Ifc4x3_rc4::IfcRelAssignsToProduct::RelatingProduct() const { return (::Ifc4x3_rc4::IfcProductSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_rc4::IfcProductSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToProduct::declaration() const { return *IFC4X3_RC4_IfcRelAssignsToProduct_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToProduct::Class() { return *IFC4X3_RC4_IfcRelAssignsToProduct_type; } Ifc4x3_rc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssignsToProduct_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcResourceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcResourceSelect* Ifc4x3_rc4::IfcRelAssignsToResource::RelatingResource() const { return (::Ifc4x3_rc4::IfcResourceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_rc4::IfcResourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToResource::declaration() const { return *IFC4X3_RC4_IfcRelAssignsToResource_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToResource::Class() { return *IFC4X3_RC4_IfcRelAssignsToResource_type; } Ifc4x3_rc4::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssignsToResource_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_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_RelatingResource));data_->setArgument(6,attr);} } +Ifc4x3_rc4::IfcRelAssignsToResource::IfcRelAssignsToResource(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::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_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_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -IfcEntityList::ptr Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociates::declaration() const { return *IFC4X3_RC4_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociates::Class() { return *IFC4X3_RC4_IfcRelAssociates_type; } Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociates_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcEntityList::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);} } +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 (::Ifc4x3_rc4::IfcApproval*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcRelAssociatesApproval::RelatingApproval() const { return (::Ifc4x3_rc4::IfcApproval*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::Class() { return *IFC4X3_RC4_IfcRelAssociatesApproval_type; } Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesApproval_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcEntityList::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);} } +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 (::Ifc4x3_rc4::IfcClassificationSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcClassificationSelect* Ifc4x3_rc4::IfcRelAssociatesClassification::RelatingClassification() const { return (::Ifc4x3_rc4::IfcClassificationSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_rc4::IfcClassificationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::Class() { return *IFC4X3_RC4_IfcRelAssociatesClassification_type; } Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesClassification_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(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::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint -bool Ifc4x3_rc4::IfcRelAssociatesConstraint::hasIntent() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcRelAssociatesConstraint::Intent() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcRelAssociatesConstraint::setIntent(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 (::Ifc4x3_rc4::IfcConstraint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +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 (::Ifc4x3_rc4::IfcConstraint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::Class() { return *IFC4X3_RC4_IfcRelAssociatesConstraint_type; } Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcEntityList::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);} } +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 (::Ifc4x3_rc4::IfcDocumentSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcDocumentSelect* Ifc4x3_rc4::IfcRelAssociatesDocument::RelatingDocument() const { return (::Ifc4x3_rc4::IfcDocumentSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc4::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::Class() { return *IFC4X3_RC4_IfcRelAssociatesDocument_type; } Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesDocument_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcEntityList::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);} } +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 (::Ifc4x3_rc4::IfcLibrarySelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcLibrarySelect* Ifc4x3_rc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return (::Ifc4x3_rc4::IfcLibrarySelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc4::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::Class() { return *IFC4X3_RC4_IfcRelAssociatesLibrary_type; } Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcEntityList::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);} } +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 (::Ifc4x3_rc4::IfcMaterialSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcMaterialSelect* Ifc4x3_rc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return (::Ifc4x3_rc4::IfcMaterialSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc4::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::Class() { return *IFC4X3_RC4_IfcRelAssociatesMaterial_type; } Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcEntityList::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);} } +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 (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_RC4_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_RC4_IfcRelAssociatesProfileDef_type; } Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(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::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20108,12 +20061,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 -bool Ifc4x3_rc4::IfcRelConnectsElements::hasConnectionGeometry() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsElements::ConnectionGeometry() const { return (::Ifc4x3_rc4::IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatingElement() const { return (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } 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 (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatedElement() const { return (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20123,13 +20075,13 @@ Ifc4x3_rc4::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData Ifc4x3_rc4::IfcRelConnectsElements::IfcRelConnectsElements(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) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnectsElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } 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);} } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x3_rc4::IfcRelConnectsPathElements::RelatingPriorities() const { return *data_->getArgument(7); } +std::vector< int > /*[0:?]*/ Ifc4x3_rc4::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -std::vector< int > /*[0:?]*/ Ifc4x3_rc4::IfcRelConnectsPathElements::RelatedPriorities() const { return *data_->getArgument(8); } +std::vector< int > /*[0:?]*/ Ifc4x3_rc4::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcConnectionTypeEnum::Value Ifc4x3_rc4::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc4::IfcConnectionTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcConnectionTypeEnum::Value Ifc4x3_rc4::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc4::IfcConnectionTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConnectionTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -::Ifc4x3_rc4::IfcConnectionTypeEnum::Value Ifc4x3_rc4::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc4::IfcConnectionTypeEnum::FromString(*data_->getArgument(10)); } +::Ifc4x3_rc4::IfcConnectionTypeEnum::Value Ifc4x3_rc4::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc4::IfcConnectionTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc4::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConnectionTypeEnum::ToString(v)));data_->setArgument(10,attr);} } @@ -20139,9 +20091,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 (::Ifc4x3_rc4::IfcPort*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatingPort() const { return (::Ifc4x3_rc4::IfcPort*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcDistributionElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcDistributionElement* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatedElement() const { return (::Ifc4x3_rc4::IfcDistributionElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_rc4::IfcDistributionElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20151,12 +20103,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 (::Ifc4x3_rc4::IfcPort*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatingPort() const { return (::Ifc4x3_rc4::IfcPort*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcPort*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatedPort() const { return (::Ifc4x3_rc4::IfcPort*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_rc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcRelConnectsPorts::hasRealizingElement() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsPorts::RealizingElement() const { return (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20166,9 +20117,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 (::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return (::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcStructuralActivity*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcStructuralActivity* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return (::Ifc4x3_rc4::IfcStructuralActivity*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_rc4::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20178,21 +20129,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 (::Ifc4x3_rc4::IfcStructuralMember*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcStructuralMember* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return (::Ifc4x3_rc4::IfcStructuralMember*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcStructuralConnection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcStructuralConnection* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return (::Ifc4x3_rc4::IfcStructuralConnection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_rc4::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcRelConnectsStructuralMember::hasAppliedCondition() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AppliedCondition() const { return (::Ifc4x3_rc4::IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc4::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcRelConnectsStructuralMember::hasAdditionalConditions() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcStructuralConnectionCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { return (::Ifc4x3_rc4::IfcStructuralConnectionCondition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcStructuralConnectionCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcStructuralConnectionCondition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc4::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcRelConnectsStructuralMember::hasSupportedLength() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcRelConnectsStructuralMember::SupportedLength() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setSupportedLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcRelConnectsStructuralMember::hasConditionCoordinateSystem() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +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 (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20202,7 +20149,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 (::Ifc4x3_rc4::IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return (::Ifc4x3_rc4::IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } void Ifc4x3_rc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_rc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -20212,65 +20159,64 @@ Ifc4x3_rc4::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEn Ifc4x3_rc4::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(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, ::Ifc4x3_rc4::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnectsWithEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } 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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ConnectionConstraint));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsWithRealizingElements -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcElement >::ptr Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcElement >(); } -void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setRealizingElements(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::hasConnectionType() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setConnectionType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcElement >(); } +void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC4X3_RC4_IfcRelConnectsWithRealizingElements_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::Class() { return *IFC4X3_RC4_IfcRelConnectsWithRealizingElements_type; } Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData* e) : IfcRelConnectsElements((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelConnectsWithRealizingElements_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnectsWithRealizingElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } 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_RealizingElements)->generalize());data_->setArgument(7,attr);} if (v9_ConnectionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ConnectionType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } +Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(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, aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnectsWithRealizingElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } 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_RealizingElements)->generalize());data_->setArgument(7,attr);} if (v9_ConnectionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ConnectionType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelContainedInSpatialStructure -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProduct >::ptr Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatedElements() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcProduct >(); } -void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatedElements(IfcTemplatedEntityList< ::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 (::Ifc4x3_rc4::IfcSpatialElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +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 (::Ifc4x3_rc4::IfcSpatialElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelContainedInSpatialStructure::declaration() const { return *IFC4X3_RC4_IfcRelContainedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelContainedInSpatialStructure::Class() { return *IFC4X3_RC4_IfcRelContainedInSpatialStructure_type; } Ifc4x3_rc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelContainedInSpatialStructure_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr Ifc4x3_rc4::IfcRelCoversBldgElements::RelatedCoverings() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcCovering >(); } -void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatedCoverings(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelCoversBldgElements::declaration() const { return *IFC4X3_RC4_IfcRelCoversBldgElements_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelCoversBldgElements::Class() { return *IFC4X3_RC4_IfcRelCoversBldgElements_type; } Ifc4x3_rc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelCoversBldgElements_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcSpace*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcSpace* Ifc4x3_rc4::IfcRelCoversSpaces::RelatingSpace() const { return (::Ifc4x3_rc4::IfcSpace*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_rc4::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr Ifc4x3_rc4::IfcRelCoversSpaces::RelatedCoverings() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcCovering >(); } -void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatedCoverings(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelCoversSpaces::declaration() const { return *IFC4X3_RC4_IfcRelCoversSpaces_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelCoversSpaces::Class() { return *IFC4X3_RC4_IfcRelCoversSpaces_type; } Ifc4x3_rc4::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelCoversSpaces_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcContext*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcContext* Ifc4x3_rc4::IfcRelDeclares::RelatingContext() const { return (::Ifc4x3_rc4::IfcContext*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc4::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcEntityList::ptr Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelDeclares::declaration() const { return *IFC4X3_RC4_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelDeclares::Class() { return *IFC4X3_RC4_IfcRelDeclares_type; } Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelDeclares_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20289,57 +20235,57 @@ Ifc4x3_rc4::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData* e) : IfcRelation Ifc4x3_rc4::IfcRelDefines::IfcRelDefines(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_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); } } // Function implementations for IfcRelDefinesByObject -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObject >::ptr Ifc4x3_rc4::IfcRelDefinesByObject::RelatedObjects() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcObject >(); } -void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatedObjects(IfcTemplatedEntityList< ::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 (::Ifc4x3_rc4::IfcObject*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +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 (::Ifc4x3_rc4::IfcObject*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_rc4::IfcObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByObject::declaration() const { return *IFC4X3_RC4_IfcRelDefinesByObject_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByObject::Class() { return *IFC4X3_RC4_IfcRelDefinesByObject_type; } Ifc4x3_rc4::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData* e) : IfcRelDefines((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelDefinesByObject_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcObject* v6_RelatingObject) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDefinesByObject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } 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_RelatingObject));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelDefinesByObject::IfcRelDefinesByObject(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::IfcObject* v6_RelatingObject) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDefinesByObject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } 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_RelatingObject));data_->setArgument(5,attr);} } // Function implementations for IfcRelDefinesByProperties -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelDefinesByProperties::RelatedObjects() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } -void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatedObjects(IfcTemplatedEntityList< ::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 (::Ifc4x3_rc4::IfcPropertySetDefinitionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +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 (::Ifc4x3_rc4::IfcPropertySetDefinitionSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByProperties::declaration() const { return *IFC4X3_RC4_IfcRelDefinesByProperties_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByProperties::Class() { return *IFC4X3_RC4_IfcRelDefinesByProperties_type; } Ifc4x3_rc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData* e) : IfcRelDefines((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelDefinesByProperties_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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);} } +Ifc4x3_rc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(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, ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 IfcRelDefinesByTemplate -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } -void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatedPropertySets(IfcTemplatedEntityList< ::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 (::Ifc4x3_rc4::IfcPropertySetTemplate*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +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 (::Ifc4x3_rc4::IfcPropertySetTemplate*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_rc4::IfcPropertySetTemplate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByTemplate::declaration() const { return *IFC4X3_RC4_IfcRelDefinesByTemplate_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByTemplate::Class() { return *IFC4X3_RC4_IfcRelDefinesByTemplate_type; } Ifc4x3_rc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData* e) : IfcRelDefines((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelDefinesByTemplate_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc4::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDefinesByTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedPropertySets)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingTemplate));data_->setArgument(5,attr);} } +Ifc4x3_rc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(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::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc4::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDefinesByTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedPropertySets)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingTemplate));data_->setArgument(5,attr);} } // Function implementations for IfcRelDefinesByType -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObject >::ptr Ifc4x3_rc4::IfcRelDefinesByType::RelatedObjects() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcObject >(); } -void Ifc4x3_rc4::IfcRelDefinesByType::setRelatedObjects(IfcTemplatedEntityList< ::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 (::Ifc4x3_rc4::IfcTypeObject*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +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 (::Ifc4x3_rc4::IfcTypeObject*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelDefinesByType::setRelatingType(::Ifc4x3_rc4::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByType::declaration() const { return *IFC4X3_RC4_IfcRelDefinesByType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByType::Class() { return *IFC4X3_RC4_IfcRelDefinesByType_type; } Ifc4x3_rc4::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : IfcRelDefines((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelDefinesByType_type) throw IfcException("Unable to find find keyword in schema"); data_ = 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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcOpeningElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcOpeningElement* Ifc4x3_rc4::IfcRelFillsElement::RelatingOpeningElement() const { return (::Ifc4x3_rc4::IfcOpeningElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelFillsElement::RelatedBuildingElement() const { return (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20349,65 +20295,65 @@ Ifc4x3_rc4::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_rc4::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelFillsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingOpeningElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelFlowControlElements -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr Ifc4x3_rc4::IfcRelFlowControlElements::RelatedControlElements() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcDistributionControlElement >(); } -void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatedControlElements(IfcTemplatedEntityList< ::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 (::Ifc4x3_rc4::IfcDistributionFlowElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +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 (::Ifc4x3_rc4::IfcDistributionFlowElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_rc4::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelFlowControlElements::declaration() const { return *IFC4X3_RC4_IfcRelFlowControlElements_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelFlowControlElements::Class() { return *IFC4X3_RC4_IfcRelFlowControlElements_type; } Ifc4x3_rc4::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelFlowControlElements_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcInterferenceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatingElement() const { return (::Ifc4x3_rc4::IfcInterferenceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcInterferenceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatedElement() const { return (::Ifc4x3_rc4::IfcInterferenceSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc4::IfcInterferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcRelInterferesElements::hasInterferenceGeometry() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceGeometry() const { return (::Ifc4x3_rc4::IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcRelInterferesElements::hasInterferenceType() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcRelInterferesElements::InterferenceType() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcRelInterferesElements::ImpliedOrder() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcRelInterferesElements::setImpliedOrder(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +::Ifc4x3_rc4::IfcSpatialZone* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceSpace() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcSpatialZone*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +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);} } +boost::logic::tribool Ifc4x3_rc4::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelInterferesElements::declaration() const { return *IFC4X3_RC4_IfcRelInterferesElements_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelInterferesElements::Class() { return *IFC4X3_RC4_IfcRelInterferesElements_type; } Ifc4x3_rc4::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelInterferesElements_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, boost::optional< std::string > v8_InterferenceType, bool v9_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);} 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);} } +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 (::Ifc4x3_rc4::IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelNests::RelatingObject() const { return (::Ifc4x3_rc4::IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcRelNests::setRelatingObject(::Ifc4x3_rc4::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelNests::RelatedObjects() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } -void Ifc4x3_rc4::IfcRelNests::setRelatedObjects(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelNests::declaration() const { return *IFC4X3_RC4_IfcRelNests_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelNests::Class() { return *IFC4X3_RC4_IfcRelNests_type; } Ifc4x3_rc4::IfcRelNests::IfcRelNests(IfcEntityInstanceData* e) : IfcRelDecomposes((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelNests_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcPositioningElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcPositioningElement* Ifc4x3_rc4::IfcRelPositions::RelatingPositioningElement() const { return (::Ifc4x3_rc4::IfcPositioningElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_rc4::IfcPositioningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProduct >::ptr Ifc4x3_rc4::IfcRelPositions::RelatedProducts() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcProduct >(); } -void Ifc4x3_rc4::IfcRelPositions::setRelatedProducts(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelPositions::declaration() const { return *IFC4X3_RC4_IfcRelPositions_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelPositions::Class() { return *IFC4X3_RC4_IfcRelPositions_type; } Ifc4x3_rc4::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelPositions_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelProjectsElement::RelatingElement() const { return (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcFeatureElementAddition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcFeatureElementAddition* Ifc4x3_rc4::IfcRelProjectsElement::RelatedFeatureElement() const { return (::Ifc4x3_rc4::IfcFeatureElementAddition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_rc4::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20417,31 +20363,28 @@ Ifc4x3_rc4::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* Ifc4x3_rc4::IfcRelProjectsElement::IfcRelProjectsElement(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, ::Ifc4x3_rc4::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -IfcEntityList::ptr Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatedElements(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return (::Ifc4x3_rc4::IfcSpatialElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +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 (::Ifc4x3_rc4::IfcSpatialElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type; } Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcEntityList::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);} } +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 (::Ifc4x3_rc4::IfcProcess*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatingProcess() const { return (::Ifc4x3_rc4::IfcProcess*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcProcess*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatedProcess() const { return (::Ifc4x3_rc4::IfcProcess*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc4::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcRelSequence::hasTimeLag() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcLagTime* Ifc4x3_rc4::IfcRelSequence::TimeLag() const { return (::Ifc4x3_rc4::IfcLagTime*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcLagTime* Ifc4x3_rc4::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcLagTime*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcRelSequence::setTimeLag(::Ifc4x3_rc4::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcRelSequence::hasSequenceType() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcSequenceEnum::Value Ifc4x3_rc4::IfcRelSequence::SequenceType() const { return ::Ifc4x3_rc4::IfcSequenceEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcRelSequence::setSequenceType(::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);} } -bool Ifc4x3_rc4::IfcRelSequence::hasUserDefinedSequenceType() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcRelSequence::UserDefinedSequenceType() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcRelSequence::setUserDefinedSequenceType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcRelSequence::UserDefinedSequenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelSequence::declaration() const { return *IFC4X3_RC4_IfcRelSequence_type; } @@ -20450,28 +20393,27 @@ 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 (::Ifc4x3_rc4::IfcSystem*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcSystem* Ifc4x3_rc4::IfcRelServicesBuildings::RelatingSystem() const { return (::Ifc4x3_rc4::IfcSystem*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_rc4::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSpatialElement >::ptr Ifc4x3_rc4::IfcRelServicesBuildings::RelatedBuildings() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcSpatialElement >(); } -void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatedBuildings(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSpatialElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelServicesBuildings::declaration() const { return *IFC4X3_RC4_IfcRelServicesBuildings_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRelServicesBuildings::Class() { return *IFC4X3_RC4_IfcRelServicesBuildings_type; } Ifc4x3_rc4::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRelServicesBuildings_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcSpaceBoundarySelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcSpaceBoundarySelect* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatingSpace() const { return (::Ifc4x3_rc4::IfcSpaceBoundarySelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcRelSpaceBoundary::hasConnectionGeometry() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelSpaceBoundary::ConnectionGeometry() const { return (::Ifc4x3_rc4::IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } 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)); } +::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);} } -::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value Ifc4x3_rc4::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc4::IfcInternalOrExternalEnum::FromString(*data_->getArgument(8)); } +::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value Ifc4x3_rc4::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc4::IfcInternalOrExternalEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcInternalOrExternalEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -20481,8 +20423,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 -bool Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::hasParentBoundary() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { return (::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } 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(); } @@ -20493,8 +20434,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 -bool Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::hasCorrespondingBoundary() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { return (::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } +::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } 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(); } @@ -20505,9 +20445,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 (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelVoidsElement::RelatingBuildingElement() const { return (::Ifc4x3_rc4::IfcElement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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 (::Ifc4x3_rc4::IfcFeatureElementSubtraction*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcFeatureElementSubtraction* Ifc4x3_rc4::IfcRelVoidsElement::RelatedOpeningElement() const { return (::Ifc4x3_rc4::IfcFeatureElementSubtraction*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_rc4::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20525,7 +20465,7 @@ Ifc4x3_rc4::IfcRelationship::IfcRelationship(IfcEntityInstanceData* e) : IfcRoot Ifc4x3_rc4::IfcRelationship::IfcRelationship(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_IfcRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::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 IfcReparametrisedCompositeCurveSegment -double Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::ParamLength() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20535,16 +20475,14 @@ 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 (::Ifc4x3_rc4::IfcRepresentationContext*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcRepresentationContext* Ifc4x3_rc4::IfcRepresentation::ContextOfItems() const { return (::Ifc4x3_rc4::IfcRepresentationContext*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcRepresentation::setContextOfItems(::Ifc4x3_rc4::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcRepresentation::hasRepresentationIdentifier() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcRepresentation::RepresentationIdentifier() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcRepresentation::setRepresentationIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcRepresentation::hasRepresentationType() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcRepresentation::RepresentationType() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcRepresentation::setRepresentationType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr Ifc4x3_rc4::IfcRepresentation::Items() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcRepresentationItem >(); } -void Ifc4x3_rc4::IfcRepresentation::setItems(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr Ifc4x3_rc4::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcRepresentationItem >(); } +void Ifc4x3_rc4::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcRepresentationMap::list::ptr Ifc4x3_rc4::IfcRepresentation::RepresentationMap() const { return data_->getInverse(IFC4X3_RC4_IfcRepresentationMap_type, 1)->as(); } ::Ifc4x3_rc4::IfcPresentationLayerAssignment::list::ptr Ifc4x3_rc4::IfcRepresentation::LayerAssignments() const { return data_->getInverse(IFC4X3_RC4_IfcPresentationLayerAssignment_type, 2)->as(); } @@ -20553,15 +20491,13 @@ void Ifc4x3_rc4::IfcRepresentation::setItems(IfcTemplatedEntityList< ::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc4::IfcRepresentation::declaration() const { return *IFC4X3_RC4_IfcRepresentation_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRepresentation::Class() { return *IFC4X3_RC4_IfcRepresentation_type; } Ifc4x3_rc4::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRepresentation_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRepresentation_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);} } +Ifc4x3_rc4::IfcRepresentation::IfcRepresentation(::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) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRepresentation_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 IfcRepresentationContext -bool Ifc4x3_rc4::IfcRepresentationContext::hasContextIdentifier() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcRepresentationContext::ContextIdentifier() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcRepresentationContext::setContextIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcRepresentationContext::hasContextType() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcRepresentationContext::ContextType() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcRepresentationContext::setContextType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcRepresentation::list::ptr Ifc4x3_rc4::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC4X3_RC4_IfcRepresentation_type, 0)->as(); } @@ -20581,9 +20517,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 (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcRepresentationMap::MappingOrigin() const { return (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcRepresentation* Ifc4x3_rc4::IfcRepresentationMap::MappedRepresentation() const { return (::Ifc4x3_rc4::IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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(); } @@ -20595,12 +20531,10 @@ Ifc4x3_rc4::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc4::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc4::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRepresentationMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappingOrigin));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappedRepresentation));data_->setArgument(1,attr);} } // Function implementations for IfcResource -bool Ifc4x3_rc4::IfcResource::hasIdentification() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcResource::Identification() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcResource::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcResource::hasLongDescription() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcResource::LongDescription() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcResource::setLongDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResource::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResource::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToResource::list::ptr Ifc4x3_rc4::IfcResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToResource_type, 6)->as(); } @@ -20610,36 +20544,34 @@ Ifc4x3_rc4::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcE Ifc4x3_rc4::IfcResource::IfcResource(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_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -IfcEntityList::ptr Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatingApproval() const { return (::Ifc4x3_rc4::IfcApproval*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +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 (::Ifc4x3_rc4::IfcApproval*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_RC4_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::Class() { return *IFC4X3_RC4_IfcResourceApprovalRelationship_type; } Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::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);} } +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 (::Ifc4x3_rc4::IfcConstraint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return (::Ifc4x3_rc4::IfcConstraint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcEntityList::ptr Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_RC4_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::Class() { return *IFC4X3_RC4_IfcResourceConstraintRelationship_type; } Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship -bool Ifc4x3_rc4::IfcResourceLevelRelationship::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceLevelRelationship::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcResourceLevelRelationship::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcResourceLevelRelationship::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceLevelRelationship::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcResourceLevelRelationship::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcResourceLevelRelationship::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::IfcResourceLevelRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceLevelRelationship::declaration() const { return *IFC4X3_RC4_IfcResourceLevelRelationship_type; } @@ -20648,51 +20580,36 @@ Ifc4x3_rc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntity Ifc4x3_rc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceLevelRelationship_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); } } // Function implementations for IfcResourceTime -bool Ifc4x3_rc4::IfcResourceTime::hasScheduleWork() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::ScheduleWork() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcResourceTime::setScheduleWork(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasScheduleUsage() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcResourceTime::ScheduleUsage() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcResourceTime::setScheduleUsage(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasScheduleStart() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::ScheduleStart() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcResourceTime::setScheduleStart(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasScheduleFinish() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::ScheduleFinish() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcResourceTime::setScheduleFinish(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasScheduleContour() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::ScheduleContour() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcResourceTime::setScheduleContour(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasLevelingDelay() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::LevelingDelay() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcResourceTime::setLevelingDelay(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasIsOverAllocated() const { return !data_->getArgument(9)->isNull(); } -bool Ifc4x3_rc4::IfcResourceTime::IsOverAllocated() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcResourceTime::setIsOverAllocated(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasStatusTime() const { return !data_->getArgument(10)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::StatusTime() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcResourceTime::setStatusTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasActualWork() const { return !data_->getArgument(11)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::ActualWork() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcResourceTime::setActualWork(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasActualUsage() const { return !data_->getArgument(12)->isNull(); } -double Ifc4x3_rc4::IfcResourceTime::ActualUsage() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcResourceTime::setActualUsage(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasActualStart() const { return !data_->getArgument(13)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::ActualStart() const { return *data_->getArgument(13); } -void Ifc4x3_rc4::IfcResourceTime::setActualStart(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasActualFinish() const { return !data_->getArgument(14)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::ActualFinish() const { return *data_->getArgument(14); } -void Ifc4x3_rc4::IfcResourceTime::setActualFinish(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasRemainingWork() const { return !data_->getArgument(15)->isNull(); } -std::string Ifc4x3_rc4::IfcResourceTime::RemainingWork() const { return *data_->getArgument(15); } -void Ifc4x3_rc4::IfcResourceTime::setRemainingWork(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasRemainingUsage() const { return !data_->getArgument(16)->isNull(); } -double Ifc4x3_rc4::IfcResourceTime::RemainingUsage() const { return *data_->getArgument(16); } -void Ifc4x3_rc4::IfcResourceTime::setRemainingUsage(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(16,attr);} } -bool Ifc4x3_rc4::IfcResourceTime::hasCompletion() const { return !data_->getArgument(17)->isNull(); } -double Ifc4x3_rc4::IfcResourceTime::Completion() const { return *data_->getArgument(17); } -void Ifc4x3_rc4::IfcResourceTime::setCompletion(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(17,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleWork() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcResourceTime::ScheduleUsage() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleContour() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::LevelingDelay() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< bool > Ifc4x3_rc4::IfcResourceTime::IsOverAllocated() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::StatusTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualWork() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcResourceTime::ActualUsage() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualStart() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } +void Ifc4x3_rc4::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualFinish() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } +void Ifc4x3_rc4::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::RemainingWork() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } +void Ifc4x3_rc4::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcResourceTime::RemainingUsage() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } +void Ifc4x3_rc4::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcResourceTime::Completion() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } +void Ifc4x3_rc4::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceTime::declaration() const { return *IFC4X3_RC4_IfcResourceTime_type; } @@ -20701,9 +20618,9 @@ 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 (::Ifc4x3_rc4::IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcRevolvedAreaSolid::Axis() const { return (::Ifc4x3_rc4::IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 { return *data_->getArgument(3); } +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);} } @@ -20713,7 +20630,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 (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -20723,9 +20640,9 @@ Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityIn Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_rc4::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRevolvedAreaSolidTapered_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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndSweptArea));data_->setArgument(4,attr);} } // Function implementations for IfcRightCircularCone -double Ifc4x3_rc4::IfcRightCircularCone::Height() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcRightCircularCone::Height() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcRightCircularCone::setHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcRightCircularCone::BottomRadius() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcRightCircularCone::BottomRadius() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcRightCircularCone::setBottomRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20735,9 +20652,9 @@ Ifc4x3_rc4::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRightCircularCone_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Height));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_BottomRadius));data_->setArgument(2,attr);} } // Function implementations for IfcRightCircularCylinder -double Ifc4x3_rc4::IfcRightCircularCylinder::Height() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcRightCircularCylinder::Height() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcRightCircularCylinder::setHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcRightCircularCylinder::Radius() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcRightCircularCylinder::Radius() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcRightCircularCylinder::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20747,9 +20664,8 @@ Ifc4x3_rc4::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstance Ifc4x3_rc4::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRightCircularCylinder_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Height));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Radius));data_->setArgument(2,attr);} } // Function implementations for IfcRoad -bool Ifc4x3_rc4::IfcRoad::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcRoadTypeEnum::Value Ifc4x3_rc4::IfcRoad::PredefinedType() const { return ::Ifc4x3_rc4::IfcRoadTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcRoad::setPredefinedType(::Ifc4x3_rc4::IfcRoadTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRoadTypeEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > Ifc4x3_rc4::IfcRoad::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRoadTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRoadTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoad::declaration() const { return *IFC4X3_RC4_IfcRoad_type; } @@ -20758,9 +20674,8 @@ Ifc4x3_rc4::IfcRoad::IfcRoad(IfcEntityInstanceData* e) : IfcFacility((IfcEntityI Ifc4x3_rc4::IfcRoad::IfcRoad(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, boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoad_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcRoadTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcRoof -bool Ifc4x3_rc4::IfcRoof::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcRoofTypeEnum::Value Ifc4x3_rc4::IfcRoof::PredefinedType() const { return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRoof::setPredefinedType(::Ifc4x3_rc4::IfcRoofTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRoofTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > Ifc4x3_rc4::IfcRoof::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRoofTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoof::declaration() const { return *IFC4X3_RC4_IfcRoof_type; } @@ -20769,27 +20684,24 @@ Ifc4x3_rc4::IfcRoof::IfcRoof(IfcEntityInstanceData* e) : IfcBuiltElement((IfcEnt Ifc4x3_rc4::IfcRoof::IfcRoof(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::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoof_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRoofTypeEnum::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 IfcRoofType -::Ifc4x3_rc4::IfcRoofTypeEnum::Value Ifc4x3_rc4::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcRoofTypeEnum::Value Ifc4x3_rc4::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcRoofType::setPredefinedType(::Ifc4x3_rc4::IfcRoofTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRoofTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoofType::declaration() const { return *IFC4X3_RC4_IfcRoofType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcRoofType::Class() { return *IFC4X3_RC4_IfcRoofType_type; } Ifc4x3_rc4::IfcRoofType::IfcRoofType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcRoofType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcRoofType::IfcRoofType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoofType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRoofTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcRoofType::IfcRoofType(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::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoofType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcRoofTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcRoot -std::string Ifc4x3_rc4::IfcRoot::GlobalId() const { return *data_->getArgument(0); } +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);} } -bool Ifc4x3_rc4::IfcRoot::hasOwnerHistory() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcOwnerHistory* Ifc4x3_rc4::IfcRoot::OwnerHistory() const { return (::Ifc4x3_rc4::IfcOwnerHistory*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcOwnerHistory* Ifc4x3_rc4::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcOwnerHistory*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcRoot::setOwnerHistory(::Ifc4x3_rc4::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcRoot::hasName() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcRoot::Name() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcRoot::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcRoot::hasDescription() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcRoot::Description() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcRoot::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoot::declaration() const { return *IFC4X3_RC4_IfcRoot_type; } @@ -20798,7 +20710,7 @@ Ifc4x3_rc4::IfcRoot::IfcRoot(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity( Ifc4x3_rc4::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoot_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::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 IfcRoundedRectangleProfileDef -double Ifc4x3_rc4::IfcRoundedRectangleProfileDef::RoundingRadius() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20808,10 +20720,9 @@ Ifc4x3_rc4::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEnti Ifc4x3_rc4::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRoundedRectangleProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_XDim));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_YDim));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RoundingRadius));data_->setArgument(5,attr);} } // Function implementations for IfcSIUnit -bool Ifc4x3_rc4::IfcSIUnit::hasPrefix() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcSIPrefix::Value Ifc4x3_rc4::IfcSIUnit::Prefix() const { return ::Ifc4x3_rc4::IfcSIPrefix::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc4::IfcSIUnit::setPrefix(::Ifc4x3_rc4::IfcSIPrefix::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSIPrefix::ToString(v)));data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcSIUnitName::Value Ifc4x3_rc4::IfcSIUnit::Name() const { return ::Ifc4x3_rc4::IfcSIUnitName::FromString(*data_->getArgument(3)); } +boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > Ifc4x3_rc4::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSIPrefix::FromString(*data_->getArgument(2)); } +void Ifc4x3_rc4::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSIPrefix::ToString(*v)));data_->setArgument(2,attr);} } +::Ifc4x3_rc4::IfcSIUnitName::Value Ifc4x3_rc4::IfcSIUnit::Name() const { return ::Ifc4x3_rc4::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc4x3_rc4::IfcSIUnit::setName(::Ifc4x3_rc4::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } @@ -20821,9 +20732,8 @@ Ifc4x3_rc4::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData* e) : IfcNamedUnit((IfcEn Ifc4x3_rc4::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc4::IfcSIUnitName::Value v4_Name) : IfcNamedUnit((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSIUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x3_rc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_Prefix) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_Prefix,::Ifc4x3_rc4::IfcSIPrefix::ToString(*v3_Prefix))));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_Name,::Ifc4x3_rc4::IfcSIUnitName::ToString(v4_Name))));data_->setArgument(3,attr);} } // Function implementations for IfcSanitaryTerminal -bool Ifc4x3_rc4::IfcSanitaryTerminal::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc4::IfcSanitaryTerminal::PredefinedType() const { return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSanitaryTerminal::setPredefinedType(::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc4::IfcSanitaryTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSanitaryTerminal::declaration() const { return *IFC4X3_RC4_IfcSanitaryTerminal_type; } @@ -20832,25 +20742,22 @@ Ifc4x3_rc4::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcSanitaryTerminal::IfcSanitaryTerminal(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::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSanitaryTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSanitaryTerminalTypeEnum::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 IfcSanitaryTerminalType -::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc4::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc4::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSanitaryTerminalType::declaration() const { return *IFC4X3_RC4_IfcSanitaryTerminalType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSanitaryTerminalType::Class() { return *IFC4X3_RC4_IfcSanitaryTerminalType_type; } Ifc4x3_rc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSanitaryTerminalType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(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::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSchedulingTime -bool Ifc4x3_rc4::IfcSchedulingTime::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcSchedulingTime::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcSchedulingTime::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcSchedulingTime::hasDataOrigin() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcDataOriginEnum::Value Ifc4x3_rc4::IfcSchedulingTime::DataOrigin() const { return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } -void Ifc4x3_rc4::IfcSchedulingTime::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(1,attr);} } -bool Ifc4x3_rc4::IfcSchedulingTime::hasUserDefinedDataOrigin() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcSchedulingTime::UserDefinedDataOrigin() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSchedulingTime::setUserDefinedDataOrigin(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcSchedulingTime::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > Ifc4x3_rc4::IfcSchedulingTime::DataOrigin() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } +void Ifc4x3_rc4::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(*v)));data_->setArgument(1,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcSchedulingTime::UserDefinedDataOrigin() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSchedulingTime::declaration() const { return *IFC4X3_RC4_IfcSchedulingTime_type; } @@ -20864,17 +20771,15 @@ Ifc4x3_rc4::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc4::IfcSeamCurve::declaration() const { return *IFC4X3_RC4_IfcSeamCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSeamCurve::Class() { return *IFC4X3_RC4_IfcSeamCurve_type; } Ifc4x3_rc4::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData* e) : IfcSurfaceCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSeamCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc4::IfcCurve* v1_Curve3D, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSeamCurve_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);} } +Ifc4x3_rc4::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSeamCurve_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 IfcSecondOrderPolynomialSpiral -double Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setQuadraticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::hasLinearTerm() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::LinearTerm() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setLinearTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::hasConstantTerm() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setConstantTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::declaration() const { return *IFC4X3_RC4_IfcSecondOrderPolynomialSpiral_type; } @@ -20883,12 +20788,11 @@ Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(IfcEn Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSecondOrderPolynomialSpiral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_QuadraticTerm));data_->setArgument(1,attr);} if (v3_LinearTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_LinearTerm));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ConstantTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ConstantTerm));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcSectionProperties -::Ifc4x3_rc4::IfcSectionTypeEnum::Value Ifc4x3_rc4::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc4::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } +::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 (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::StartProfile() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcSectionProperties::setStartProfile(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcSectionProperties::hasEndProfile() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::EndProfile() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcSectionProperties::setEndProfile(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20898,82 +20802,81 @@ Ifc4x3_rc4::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_rc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc4::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc4::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_SectionType,::Ifc4x3_rc4::IfcSectionTypeEnum::ToString(v1_SectionType))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartProfile));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EndProfile));data_->setArgument(2,attr);} } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { return *data_->getArgument(0); } +double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcSectionReinforcementProperties::hasTransversePosition() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcSectionReinforcementProperties::TransversePosition() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSectionReinforcementProperties::setTransversePosition(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)); } +boost::optional< double > Ifc4x3_rc4::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +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 (::Ifc4x3_rc4::IfcSectionProperties*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcSectionProperties* Ifc4x3_rc4::IfcSectionReinforcementProperties::SectionDefinition() const { return (::Ifc4x3_rc4::IfcSectionProperties*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_rc4::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr Ifc4x3_rc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcReinforcementBarProperties >(); } -void Ifc4x3_rc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcSectionReinforcementProperties::declaration() const { return *IFC4X3_RC4_IfcSectionReinforcementProperties_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSectionReinforcementProperties::Class() { return *IFC4X3_RC4_IfcSectionReinforcementProperties_type; } Ifc4x3_rc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData* e) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSectionReinforcementProperties_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSolid::Directrix() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcSectionedSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSolid::CrossSections() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } -void Ifc4x3_rc4::IfcSectionedSolid::setCrossSections(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSolid::declaration() const { return *IFC4X3_RC4_IfcSectionedSolid_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSolid::Class() { return *IFC4X3_RC4_IfcSectionedSolid_type; } Ifc4x3_rc4::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData* e) : IfcSolidModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSectionedSolid_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc4::IfcCurve* v1_Directrix, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionedSolid_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);} } +Ifc4x3_rc4::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc4::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionedSolid_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);} } // Function implementations for IfcSectionedSolidHorizontal -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr Ifc4x3_rc4::IfcSectionedSolidHorizontal::CrossSectionPositions() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >(); } -void Ifc4x3_rc4::IfcSectionedSolidHorizontal::setCrossSectionPositions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSectionedSolidHorizontal::FixedAxisVertical() const { return *data_->getArgument(3); } +aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr Ifc4x3_rc4::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >(); } +void Ifc4x3_rc4::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } +bool Ifc4x3_rc4::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcSectionedSolidHorizontal::setFixedAxisVertical(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSolidHorizontal::declaration() const { return *IFC4X3_RC4_IfcSectionedSolidHorizontal_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSolidHorizontal::Class() { return *IFC4X3_RC4_IfcSectionedSolidHorizontal_type; } Ifc4x3_rc4::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData* e) : IfcSectionedSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSectionedSolidHorizontal_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc4::IfcCurve* v1_Directrix, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcCompositeCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCompositeCurve* Ifc4x3_rc4::IfcSectionedSpine::SpineCurve() const { return (::Ifc4x3_rc4::IfcCompositeCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcSectionedSpine::setSpineCurve(::Ifc4x3_rc4::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSpine::CrossSections() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } -void Ifc4x3_rc4::IfcSectionedSpine::setCrossSections(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr Ifc4x3_rc4::IfcSectionedSpine::CrossSectionPositions() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcAxis2Placement3D >(); } -void Ifc4x3_rc4::IfcSectionedSpine::setCrossSectionPositions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,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);} } +aggregate_of< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr Ifc4x3_rc4::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcAxis2Placement3D >(); } +void Ifc4x3_rc4::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSpine::declaration() const { return *IFC4X3_RC4_IfcSectionedSpine_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSpine::Class() { return *IFC4X3_RC4_IfcSectionedSpine_type; } Ifc4x3_rc4::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSectionedSpine_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc4::IfcCompositeCurve* v1_SpineCurve, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSurface::Directrix() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcSectionedSurface::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr Ifc4x3_rc4::IfcSectionedSurface::CrossSectionPositions() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPointByDistanceExpression >(); } -void Ifc4x3_rc4::IfcSectionedSurface::setCrossSectionPositions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSurface::CrossSections() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } -void Ifc4x3_rc4::IfcSectionedSurface::setCrossSections(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSectionedSurface::FixedAxisVertical() const { return *data_->getArgument(3); } +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);} } +aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } +void Ifc4x3_rc4::IfcSectionedSurface::setCrossSections(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } +bool Ifc4x3_rc4::IfcSectionedSurface::FixedAxisVertical() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcSectionedSurface::setFixedAxisVertical(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSurface::declaration() const { return *IFC4X3_RC4_IfcSectionedSurface_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSurface::Class() { return *IFC4X3_RC4_IfcSectionedSurface_type; } Ifc4x3_rc4::IfcSectionedSurface::IfcSectionedSurface(IfcEntityInstanceData* e) : IfcSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSectionedSurface_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_rc4::IfcCurve* v1_Directrix, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v2_CrossSectionPositions, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical) : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSectionPositions)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSections)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_FixedAxisVertical));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_rc4::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical) : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSectionPositions)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSections)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_FixedAxisVertical));data_->setArgument(3,attr);} } // Function implementations for IfcSegment -::Ifc4x3_rc4::IfcTransitionCode::Value Ifc4x3_rc4::IfcSegment::Transition() const { return ::Ifc4x3_rc4::IfcTransitionCode::FromString(*data_->getArgument(0)); } +::Ifc4x3_rc4::IfcTransitionCode::Value Ifc4x3_rc4::IfcSegment::Transition() const { return ::Ifc4x3_rc4::IfcTransitionCode::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcSegment::setTransition(::Ifc4x3_rc4::IfcTransitionCode::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTransitionCode::ToString(v)));data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcCompositeCurve::list::ptr Ifc4x3_rc4::IfcSegment::UsingCurves() const { return data_->getInverse(IFC4X3_RC4_IfcCompositeCurve_type, 0)->as(); } @@ -20984,22 +20887,20 @@ 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 (::Ifc4x3_rc4::IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcSegmentedReferenceCurve::BaseCurve() const { return (::Ifc4x3_rc4::IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSegmentedReferenceCurve::hasEndPoint() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcSegmentedReferenceCurve::EndPoint() const { return (::Ifc4x3_rc4::IfcPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcSegmentedReferenceCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_rc4::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSegmentedReferenceCurve::declaration() const { return *IFC4X3_RC4_IfcSegmentedReferenceCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSegmentedReferenceCurve::Class() { return *IFC4X3_RC4_IfcSegmentedReferenceCurve_type; } Ifc4x3_rc4::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(IfcEntityInstanceData* e) : IfcCompositeCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSegmentedReferenceCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement* v4_EndPoint) : IfcCompositeCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSegmentedReferenceCurve_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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_BaseCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndPoint));data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement* v4_EndPoint) : IfcCompositeCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSegmentedReferenceCurve_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);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_BaseCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndPoint));data_->setArgument(3,attr);} } // Function implementations for IfcSensor -bool Ifc4x3_rc4::IfcSensor::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSensorTypeEnum::Value Ifc4x3_rc4::IfcSensor::PredefinedType() const { return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSensor::setPredefinedType(::Ifc4x3_rc4::IfcSensorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSensorTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > Ifc4x3_rc4::IfcSensor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSensorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSensor::declaration() const { return *IFC4X3_RC4_IfcSensor_type; } @@ -21008,39 +20909,32 @@ Ifc4x3_rc4::IfcSensor::IfcSensor(IfcEntityInstanceData* e) : IfcDistributionCont Ifc4x3_rc4::IfcSensor::IfcSensor(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::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSensor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSensorTypeEnum::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 IfcSensorType -::Ifc4x3_rc4::IfcSensorTypeEnum::Value Ifc4x3_rc4::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSensorTypeEnum::Value Ifc4x3_rc4::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSensorType::setPredefinedType(::Ifc4x3_rc4::IfcSensorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSensorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSensorType::declaration() const { return *IFC4X3_RC4_IfcSensorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSensorType::Class() { return *IFC4X3_RC4_IfcSensorType_type; } Ifc4x3_rc4::IfcSensorType::IfcSensorType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSensorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSensorType::IfcSensorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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_rc4::IfcSensorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcSensorType::IfcSensorType(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::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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_rc4::IfcSensorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSeventhOrderPolynomialSpiral -double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setSepticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::hasSexticTerm() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setSexticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::hasQuinticTerm() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuinticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::hasQuarticTerm() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuarticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::hasCubicTerm() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setCubicTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::hasQuadraticTerm() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuadraticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::hasLinearTerm() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setLinearTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::hasConstantTerm() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setConstantTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setSexticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuinticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuarticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setCubicTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::declaration() const { return *IFC4X3_RC4_IfcSeventhOrderPolynomialSpiral_type; } @@ -21049,9 +20943,8 @@ Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(Ifc Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SepticTerm, boost::optional< double > v3_SexticTerm, boost::optional< double > v4_QuinticTerm, boost::optional< double > v5_QuarticTerm, boost::optional< double > v6_CubicTerm, boost::optional< double > v7_QuadraticTerm, boost::optional< double > v8_LinearTerm, boost::optional< double > v9_ConstantTerm) : IfcSpiral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSeventhOrderPolynomialSpiral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SepticTerm));data_->setArgument(1,attr);} if (v3_SexticTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SexticTerm));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_QuinticTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_QuinticTerm));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_QuarticTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_QuarticTerm));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_CubicTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_CubicTerm));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_QuadraticTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_QuadraticTerm));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LinearTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LinearTerm));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ConstantTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ConstantTerm));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcShadingDevice -bool Ifc4x3_rc4::IfcShadingDevice::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc4::IfcShadingDevice::PredefinedType() const { return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcShadingDevice::setPredefinedType(::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcShadingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcShadingDevice::declaration() const { return *IFC4X3_RC4_IfcShadingDevice_type; } @@ -21060,28 +20953,25 @@ Ifc4x3_rc4::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData* e) : IfcBu Ifc4x3_rc4::IfcShadingDevice::IfcShadingDevice(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::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShadingDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcShadingDeviceTypeEnum::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 IfcShadingDeviceType -::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc4::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc4::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcShadingDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcShadingDeviceType::declaration() const { return *IFC4X3_RC4_IfcShadingDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcShadingDeviceType::Class() { return *IFC4X3_RC4_IfcShadingDeviceType_type; } Ifc4x3_rc4::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcShadingDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcShadingDeviceType::IfcShadingDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShadingDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcShadingDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcShadingDeviceType::IfcShadingDeviceType(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::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShadingDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcShadingDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcShapeAspect -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcShapeModel >::ptr Ifc4x3_rc4::IfcShapeAspect::ShapeRepresentations() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcShapeModel >(); } -void Ifc4x3_rc4::IfcShapeAspect::setShapeRepresentations(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcShapeAspect::hasName() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcShapeAspect::Name() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcShapeAspect::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcShapeAspect::hasDescription() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcShapeAspect::Description() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcShapeAspect::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcShapeAspect::ProductDefinitional() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcShapeAspect::setProductDefinitional(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcShapeAspect::hasPartOfProductDefinitionShape() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcProductRepresentationSelect* Ifc4x3_rc4::IfcShapeAspect::PartOfProductDefinitionShape() const { return (::Ifc4x3_rc4::IfcProductRepresentationSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr Ifc4x3_rc4::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcShapeModel >(); } +void Ifc4x3_rc4::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcShapeAspect::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::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +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 (::Ifc4x3_rc4::IfcProductRepresentationSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } 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(); } @@ -21089,7 +20979,7 @@ void Ifc4x3_rc4::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc4::I const IfcParse::entity& Ifc4x3_rc4::IfcShapeAspect::declaration() const { return *IFC4X3_RC4_IfcShapeAspect_type; } const IfcParse::entity& Ifc4x3_rc4::IfcShapeAspect::Class() { return *IFC4X3_RC4_IfcShapeAspect_type; } Ifc4x3_rc4::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcShapeAspect_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, ::Ifc4x3_rc4::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShapeAspect_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ShapeRepresentations)->generalize());data_->setArgument(0,attr);} if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ProductDefinitional));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_PartOfProductDefinitionShape));data_->setArgument(4,attr);} } +Ifc4x3_rc4::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc4::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShapeAspect_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ShapeRepresentations)->generalize());data_->setArgument(0,attr);} if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ProductDefinitional));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_PartOfProductDefinitionShape));data_->setArgument(4,attr);} } // Function implementations for IfcShapeModel @@ -21098,7 +20988,7 @@ Ifc4x3_rc4::IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< ::Ifc4x3_rc4: const IfcParse::entity& Ifc4x3_rc4::IfcShapeModel::declaration() const { return *IFC4X3_RC4_IfcShapeModel_type; } const IfcParse::entity& Ifc4x3_rc4::IfcShapeModel::Class() { return *IFC4X3_RC4_IfcShapeModel_type; } Ifc4x3_rc4::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData* e) : IfcRepresentation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcShapeModel_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShapeModel_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);} } +Ifc4x3_rc4::IfcShapeModel::IfcShapeModel(::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_IfcShapeModel_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 IfcShapeRepresentation @@ -21106,22 +20996,21 @@ Ifc4x3_rc4::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc4::IfcRepresentationContext* const IfcParse::entity& Ifc4x3_rc4::IfcShapeRepresentation::declaration() const { return *IFC4X3_RC4_IfcShapeRepresentation_type; } const IfcParse::entity& Ifc4x3_rc4::IfcShapeRepresentation::Class() { return *IFC4X3_RC4_IfcShapeRepresentation_type; } Ifc4x3_rc4::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) : IfcShapeModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcShapeRepresentation_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } +Ifc4x3_rc4::IfcShapeRepresentation::IfcShapeRepresentation(::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) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -IfcEntityList::ptr Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_RC4_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_RC4_IfcShellBasedSurfaceModel_type; } Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityList::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } // Function implementations for IfcSign -bool Ifc4x3_rc4::IfcSign::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSignTypeEnum::Value Ifc4x3_rc4::IfcSign::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSign::setPredefinedType(::Ifc4x3_rc4::IfcSignTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSignTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > Ifc4x3_rc4::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSignTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSign::declaration() const { return *IFC4X3_RC4_IfcSign_type; } @@ -21130,19 +21019,18 @@ Ifc4x3_rc4::IfcSign::IfcSign(IfcEntityInstanceData* e) : IfcElementComponent((If Ifc4x3_rc4::IfcSign::IfcSign(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::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSign_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSignTypeEnum::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 IfcSignType -::Ifc4x3_rc4::IfcSignTypeEnum::Value Ifc4x3_rc4::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSignTypeEnum::Value Ifc4x3_rc4::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSignType::setPredefinedType(::Ifc4x3_rc4::IfcSignTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSignTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSignType::declaration() const { return *IFC4X3_RC4_IfcSignType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSignType::Class() { return *IFC4X3_RC4_IfcSignType_type; } Ifc4x3_rc4::IfcSignType::IfcSignType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSignType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSignType::IfcSignType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSignType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSignTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcSignType::IfcSignType(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::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSignType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSignTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSignal -bool Ifc4x3_rc4::IfcSignal::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSignalTypeEnum::Value Ifc4x3_rc4::IfcSignal::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSignal::setPredefinedType(::Ifc4x3_rc4::IfcSignalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSignalTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > Ifc4x3_rc4::IfcSignal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSignalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSignal::declaration() const { return *IFC4X3_RC4_IfcSignal_type; } @@ -21151,14 +21039,14 @@ Ifc4x3_rc4::IfcSignal::IfcSignal(IfcEntityInstanceData* e) : IfcFlowTerminal((If Ifc4x3_rc4::IfcSignal::IfcSignal(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::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSignal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSignalTypeEnum::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 IfcSignalType -::Ifc4x3_rc4::IfcSignalTypeEnum::Value Ifc4x3_rc4::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSignalTypeEnum::Value Ifc4x3_rc4::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSignalType::setPredefinedType(::Ifc4x3_rc4::IfcSignalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSignalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSignalType::declaration() const { return *IFC4X3_RC4_IfcSignalType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSignalType::Class() { return *IFC4X3_RC4_IfcSignalType_type; } Ifc4x3_rc4::IfcSignalType::IfcSignalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSignalType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSignalType::IfcSignalType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSignalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSignalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcSignalType::IfcSignalType(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::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSignalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSignalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSimpleProperty @@ -21169,30 +21057,22 @@ Ifc4x3_rc4::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSimpleProperty_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 IfcSimplePropertyTemplate -bool Ifc4x3_rc4::IfcSimplePropertyTemplate::hasTemplateType() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_rc4::IfcSimplePropertyTemplate::TemplateType() const { return ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setTemplateType(::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::ToString(v)));data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcSimplePropertyTemplate::hasPrimaryMeasureType() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryMeasureType() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcSimplePropertyTemplate::hasSecondaryMeasureType() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcSimplePropertyTemplate::hasEnumerators() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcSimplePropertyTemplate::Enumerators() const { return (::Ifc4x3_rc4::IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcSimplePropertyTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } +void Ifc4x3_rc4::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +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 (::Ifc4x3_rc4::IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcSimplePropertyTemplate::hasPrimaryUnit() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryUnit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcSimplePropertyTemplate::hasSecondaryUnit() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryUnit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcSimplePropertyTemplate::hasExpression() const { return !data_->getArgument(10)->isNull(); } -std::string Ifc4x3_rc4::IfcSimplePropertyTemplate::Expression() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setExpression(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcSimplePropertyTemplate::hasAccessState() const { return !data_->getArgument(11)->isNull(); } -::Ifc4x3_rc4::IfcStateEnum::Value Ifc4x3_rc4::IfcSimplePropertyTemplate::AccessState() const { return ::Ifc4x3_rc4::IfcStateEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setAccessState(::Ifc4x3_rc4::IfcStateEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStateEnum::ToString(v)));data_->setArgument(11,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);} } +boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > Ifc4x3_rc4::IfcSimplePropertyTemplate::AccessState() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStateEnum::FromString(*data_->getArgument(11)); } +void Ifc4x3_rc4::IfcSimplePropertyTemplate::setAccessState(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(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSimplePropertyTemplate::declaration() const { return *IFC4X3_RC4_IfcSimplePropertyTemplate_type; } @@ -21201,32 +21081,29 @@ Ifc4x3_rc4::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstan Ifc4x3_rc4::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(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::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc4::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_rc4::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_rc4::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSimplePropertyTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSimplePropertyTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_PrimaryMeasureType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_PrimaryMeasureType));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_SecondaryMeasureType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_SecondaryMeasureType));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_Enumerators));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PrimaryUnit));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SecondaryUnit));data_->setArgument(9,attr);} if (v11_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_Expression));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_AccessState) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_AccessState,::Ifc4x3_rc4::IfcStateEnum::ToString(*v12_AccessState))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } // Function implementations for IfcSine -double Ifc4x3_rc4::IfcSine::SineTerm() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcSine::SineTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSine::setSineTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcSine::LinearTerm() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSine::setLinearTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSine::LinearTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcSine::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSine::ConstantTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcSine::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSine::declaration() const { return *IFC4X3_RC4_IfcSine_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSine::Class() { return *IFC4X3_RC4_IfcSine_type; } Ifc4x3_rc4::IfcSine::IfcSine(IfcEntityInstanceData* e) : IfcSpiral((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSine_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSine::IfcSine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SineTerm, double v3_LinearTerm) : IfcSpiral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SineTerm));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LinearTerm));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcSine::IfcSine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SineTerm));data_->setArgument(1,attr);} if (v3_LinearTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_LinearTerm));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ConstantTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ConstantTerm));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcSite -bool Ifc4x3_rc4::IfcSite::hasRefLatitude() const { return !data_->getArgument(9)->isNull(); } -std::vector< int > /*[3:4]*/ Ifc4x3_rc4::IfcSite::RefLatitude() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcSite::setRefLatitude(std::vector< int > /*[3:4]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcSite::hasRefLongitude() const { return !data_->getArgument(10)->isNull(); } -std::vector< int > /*[3:4]*/ Ifc4x3_rc4::IfcSite::RefLongitude() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcSite::setRefLongitude(std::vector< int > /*[3:4]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcSite::hasRefElevation() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcSite::RefElevation() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcSite::setRefElevation(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcSite::hasLandTitleNumber() const { return !data_->getArgument(12)->isNull(); } -std::string Ifc4x3_rc4::IfcSite::LandTitleNumber() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcSite::setLandTitleNumber(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcSite::hasSiteAddress() const { return !data_->getArgument(13)->isNull(); } -::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcSite::SiteAddress() const { return (::Ifc4x3_rc4::IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(13))); } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc4::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc4::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +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 (::Ifc4x3_rc4::IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(13))); } void Ifc4x3_rc4::IfcSite::setSiteAddress(::Ifc4x3_rc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -21236,9 +21113,8 @@ Ifc4x3_rc4::IfcSite::IfcSite(IfcEntityInstanceData* e) : IfcSpatialStructureElem Ifc4x3_rc4::IfcSite::IfcSite(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, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc4::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSite_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_RefLatitude) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_RefLatitude));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_RefLongitude) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_RefLongitude));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_RefElevation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_RefElevation));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LandTitleNumber) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LandTitleNumber));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v14_SiteAddress));data_->setArgument(13,attr);} } // Function implementations for IfcSlab -bool Ifc4x3_rc4::IfcSlab::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSlabTypeEnum::Value Ifc4x3_rc4::IfcSlab::PredefinedType() const { return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSlab::setPredefinedType(::Ifc4x3_rc4::IfcSlabTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSlabTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > Ifc4x3_rc4::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSlabTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSlab::declaration() const { return *IFC4X3_RC4_IfcSlab_type; } @@ -21263,25 +21139,22 @@ Ifc4x3_rc4::IfcSlabStandardCase::IfcSlabStandardCase(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcSlabStandardCase::IfcSlabStandardCase(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::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSlabStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSlabTypeEnum::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 IfcSlabType -::Ifc4x3_rc4::IfcSlabTypeEnum::Value Ifc4x3_rc4::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSlabTypeEnum::Value Ifc4x3_rc4::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSlabType::setPredefinedType(::Ifc4x3_rc4::IfcSlabTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSlabTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSlabType::declaration() const { return *IFC4X3_RC4_IfcSlabType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSlabType::Class() { return *IFC4X3_RC4_IfcSlabType_type; } Ifc4x3_rc4::IfcSlabType::IfcSlabType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSlabType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSlabType::IfcSlabType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSlabType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSlabTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcSlabType::IfcSlabType(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::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSlabType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSlabTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSlippageConnectionCondition -bool Ifc4x3_rc4::IfcSlippageConnectionCondition::hasSlippageX() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageX() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcSlippageConnectionCondition::hasSlippageY() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageY() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSlippageConnectionCondition::hasSlippageZ() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageZ() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSlippageConnectionCondition::declaration() const { return *IFC4X3_RC4_IfcSlippageConnectionCondition_type; } @@ -21290,9 +21163,8 @@ Ifc4x3_rc4::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEn Ifc4x3_rc4::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_SlippageX, boost::optional< double > v3_SlippageY, boost::optional< double > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSlippageConnectionCondition_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_SlippageX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_SlippageX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SlippageY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SlippageY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_SlippageZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_SlippageZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcSolarDevice -bool Ifc4x3_rc4::IfcSolarDevice::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc4::IfcSolarDevice::PredefinedType() const { return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSolarDevice::setPredefinedType(::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSolarDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSolarDevice::declaration() const { return *IFC4X3_RC4_IfcSolarDevice_type; } @@ -21301,14 +21173,14 @@ Ifc4x3_rc4::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData* e) : IfcEnergy Ifc4x3_rc4::IfcSolarDevice::IfcSolarDevice(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::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSolarDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSolarDeviceTypeEnum::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 IfcSolarDeviceType -::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc4::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc4::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSolarDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSolarDeviceType::declaration() const { return *IFC4X3_RC4_IfcSolarDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSolarDeviceType::Class() { return *IFC4X3_RC4_IfcSolarDeviceType_type; } Ifc4x3_rc4::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSolarDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSolarDeviceType::IfcSolarDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSolarDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSolarDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcSolarDeviceType::IfcSolarDeviceType(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::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSolarDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSolarDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSolidModel @@ -21327,12 +21199,10 @@ Ifc4x3_rc4::IfcSolidStratum::IfcSolidStratum(IfcEntityInstanceData* e) : IfcGeot Ifc4x3_rc4::IfcSolidStratum::IfcSolidStratum(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) : IfcGeotechnicalStratum((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSolidStratum_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcSpace -bool Ifc4x3_rc4::IfcSpace::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcSpaceTypeEnum::Value Ifc4x3_rc4::IfcSpace::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcSpace::setPredefinedType(::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcSpace::hasElevationWithFlooring() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcSpace::ElevationWithFlooring() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcSpace::setElevationWithFlooring(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > Ifc4x3_rc4::IfcSpace::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSpaceTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } ::Ifc4x3_rc4::IfcRelCoversSpaces::list::ptr Ifc4x3_rc4::IfcSpace::HasCoverings() const { return data_->getInverse(IFC4X3_RC4_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc4x3_rc4::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc4::IfcSpace::BoundedBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelSpaceBoundary_type, 4)->as(); } @@ -21343,9 +21213,8 @@ Ifc4x3_rc4::IfcSpace::IfcSpace(IfcEntityInstanceData* e) : IfcSpatialStructureEl Ifc4x3_rc4::IfcSpace::IfcSpace(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, boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcSpaceTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ElevationWithFlooring) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ElevationWithFlooring));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcSpaceHeater -bool Ifc4x3_rc4::IfcSpaceHeater::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc4::IfcSpaceHeater::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSpaceHeater::setPredefinedType(::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc4::IfcSpaceHeater::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceHeater::declaration() const { return *IFC4X3_RC4_IfcSpaceHeater_type; } @@ -21354,32 +21223,30 @@ Ifc4x3_rc4::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData* e) : IfcFlowTe Ifc4x3_rc4::IfcSpaceHeater::IfcSpaceHeater(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::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpaceHeater_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSpaceHeaterTypeEnum::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 IfcSpaceHeaterType -::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc4::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc4::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSpaceHeaterType::setPredefinedType(::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceHeaterType::declaration() const { return *IFC4X3_RC4_IfcSpaceHeaterType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceHeaterType::Class() { return *IFC4X3_RC4_IfcSpaceHeaterType_type; } Ifc4x3_rc4::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSpaceHeaterType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSpaceHeaterType::IfcSpaceHeaterType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpaceHeaterType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcSpaceHeaterType::IfcSpaceHeaterType(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::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpaceHeaterType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSpaceType -::Ifc4x3_rc4::IfcSpaceTypeEnum::Value Ifc4x3_rc4::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSpaceTypeEnum::Value Ifc4x3_rc4::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSpaceType::setPredefinedType(::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcSpaceType::hasLongName() const { return !data_->getArgument(10)->isNull(); } -std::string Ifc4x3_rc4::IfcSpaceType::LongName() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcSpaceType::setLongName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcSpaceType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceType::declaration() const { return *IFC4X3_RC4_IfcSpaceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceType::Class() { return *IFC4X3_RC4_IfcSpaceType_type; } Ifc4x3_rc4::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData* e) : IfcSpatialStructureElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSpaceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSpaceType::IfcSpaceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpaceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSpaceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LongName));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcSpaceType::IfcSpaceType(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::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpaceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSpaceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LongName));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcSpatialElement -bool Ifc4x3_rc4::IfcSpatialElement::hasLongName() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcSpatialElement::LongName() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcSpatialElement::setLongName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcSpatialElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc4::IfcSpatialElement::ContainsElements() const { return data_->getInverse(IFC4X3_RC4_IfcRelContainedInSpatialStructure_type, 5)->as(); } ::Ifc4x3_rc4::IfcRelServicesBuildings::list::ptr Ifc4x3_rc4::IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IFC4X3_RC4_IfcRelServicesBuildings_type, 5)->as(); } @@ -21391,20 +21258,18 @@ Ifc4x3_rc4::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcSpatialElement::IfcSpatialElement(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) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpatialElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } // Function implementations for IfcSpatialElementType -bool Ifc4x3_rc4::IfcSpatialElementType::hasElementType() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcSpatialElementType::ElementType() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcSpatialElementType::setElementType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcSpatialElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialElementType::declaration() const { return *IFC4X3_RC4_IfcSpatialElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialElementType::Class() { return *IFC4X3_RC4_IfcSpatialElementType_type; } Ifc4x3_rc4::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData* e) : IfcTypeProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSpatialElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSpatialElementType::IfcSpatialElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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_IfcSpatialElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcSpatialElementType::IfcSpatialElementType(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_IfcSpatialElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcSpatialStructureElement -bool Ifc4x3_rc4::IfcSpatialStructureElement::hasCompositionType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcElementCompositionEnum::Value Ifc4x3_rc4::IfcSpatialStructureElement::CompositionType() const { return ::Ifc4x3_rc4::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSpatialStructureElement::setCompositionType(::Ifc4x3_rc4::IfcElementCompositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcElementCompositionEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > Ifc4x3_rc4::IfcSpatialStructureElement::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElementCompositionEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialStructureElement::declaration() const { return *IFC4X3_RC4_IfcSpatialStructureElement_type; } @@ -21418,12 +21283,11 @@ Ifc4x3_rc4::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcSpatialStructureElementType::declaration() const { return *IFC4X3_RC4_IfcSpatialStructureElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialStructureElementType::Class() { return *IFC4X3_RC4_IfcSpatialStructureElementType_type; } Ifc4x3_rc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData* e) : IfcSpatialElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSpatialStructureElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpatialStructureElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(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) : IfcSpatialElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpatialStructureElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcSpatialZone -bool Ifc4x3_rc4::IfcSpatialZone::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc4::IfcSpatialZone::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSpatialZone::setPredefinedType(::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc4::IfcSpatialZone::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialZone::declaration() const { return *IFC4X3_RC4_IfcSpatialZone_type; } @@ -21432,20 +21296,19 @@ Ifc4x3_rc4::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData* e) : IfcSpatia Ifc4x3_rc4::IfcSpatialZone::IfcSpatialZone(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::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpatialZone_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::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 IfcSpatialZoneType -::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcSpatialZoneType::hasLongName() const { return !data_->getArgument(10)->isNull(); } -std::string Ifc4x3_rc4::IfcSpatialZoneType::LongName() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcSpatialZoneType::setLongName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcSpatialZoneType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialZoneType::declaration() const { return *IFC4X3_RC4_IfcSpatialZoneType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialZoneType::Class() { return *IFC4X3_RC4_IfcSpatialZoneType_type; } Ifc4x3_rc4::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData* e) : IfcSpatialElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSpatialZoneType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSpatialZoneType::IfcSpatialZoneType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpatialZoneType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSpatialZoneTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LongName));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcSpatialZoneType::IfcSpatialZoneType(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::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpatialZoneType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSpatialZoneTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LongName));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcSphere -double Ifc4x3_rc4::IfcSphere::Radius() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcSphere::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSphere::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -21455,7 +21318,7 @@ Ifc4x3_rc4::IfcSphere::IfcSphere(IfcEntityInstanceData* e) : IfcCsgPrimitive3D(( Ifc4x3_rc4::IfcSphere::IfcSphere(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSphere_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 IfcSphericalSurface -double Ifc4x3_rc4::IfcSphericalSurface::Radius() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcSphericalSurface::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSphericalSurface::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -21465,8 +21328,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 -bool Ifc4x3_rc4::IfcSpiral::hasPosition() const { return !data_->getArgument(0)->isNull(); } -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcSpiral::Position() const { return (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcSpiral::Position() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcSpiral::setPosition(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -21476,9 +21338,8 @@ Ifc4x3_rc4::IfcSpiral::IfcSpiral(IfcEntityInstanceData* e) : IfcCurve((IfcEntity Ifc4x3_rc4::IfcSpiral::IfcSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSpiral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcStackTerminal -bool Ifc4x3_rc4::IfcStackTerminal::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value Ifc4x3_rc4::IfcStackTerminal::PredefinedType() const { return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcStackTerminal::setPredefinedType(::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStackTerminalTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc4::IfcStackTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStackTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStackTerminal::declaration() const { return *IFC4X3_RC4_IfcStackTerminal_type; } @@ -21487,19 +21348,18 @@ Ifc4x3_rc4::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData* e) : IfcFl Ifc4x3_rc4::IfcStackTerminal::IfcStackTerminal(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::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStackTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcStackTerminalTypeEnum::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 IfcStackTerminalType -::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value Ifc4x3_rc4::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value Ifc4x3_rc4::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcStackTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStackTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStackTerminalType::declaration() const { return *IFC4X3_RC4_IfcStackTerminalType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcStackTerminalType::Class() { return *IFC4X3_RC4_IfcStackTerminalType_type; } Ifc4x3_rc4::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcStackTerminalType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcStackTerminalType::IfcStackTerminalType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStackTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcStackTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcStackTerminalType::IfcStackTerminalType(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::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStackTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcStackTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcStair -bool Ifc4x3_rc4::IfcStair::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcStairTypeEnum::Value Ifc4x3_rc4::IfcStair::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcStair::setPredefinedType(::Ifc4x3_rc4::IfcStairTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStairTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > Ifc4x3_rc4::IfcStair::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStairTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStair::declaration() const { return *IFC4X3_RC4_IfcStair_type; } @@ -21508,21 +21368,16 @@ Ifc4x3_rc4::IfcStair::IfcStair(IfcEntityInstanceData* e) : IfcBuiltElement((IfcE Ifc4x3_rc4::IfcStair::IfcStair(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::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStair_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcStairTypeEnum::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 IfcStairFlight -bool Ifc4x3_rc4::IfcStairFlight::hasNumberOfRisers() const { return !data_->getArgument(8)->isNull(); } -int Ifc4x3_rc4::IfcStairFlight::NumberOfRisers() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcStairFlight::setNumberOfRisers(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcStairFlight::hasNumberOfTreads() const { return !data_->getArgument(9)->isNull(); } -int Ifc4x3_rc4::IfcStairFlight::NumberOfTreads() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcStairFlight::setNumberOfTreads(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcStairFlight::hasRiserHeight() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcStairFlight::RiserHeight() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcStairFlight::setRiserHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcStairFlight::hasTreadLength() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcStairFlight::TreadLength() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcStairFlight::setTreadLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcStairFlight::hasPredefinedType() const { return !data_->getArgument(12)->isNull(); } -::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value Ifc4x3_rc4::IfcStairFlight::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc4::IfcStairFlight::setPredefinedType(::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStairFlightTypeEnum::ToString(v)));data_->setArgument(12,attr);} } +boost::optional< int > Ifc4x3_rc4::IfcStairFlight::NumberOfRisers() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< int > Ifc4x3_rc4::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > Ifc4x3_rc4::IfcStairFlight::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } +void Ifc4x3_rc4::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStairFlightTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStairFlight::declaration() const { return *IFC4X3_RC4_IfcStairFlight_type; } @@ -21531,29 +21386,28 @@ Ifc4x3_rc4::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData* e) : IfcBuiltE Ifc4x3_rc4::IfcStairFlight::IfcStairFlight(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< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStairFlight_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_NumberOfRisers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_NumberOfRisers));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_NumberOfTreads) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_NumberOfTreads));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_RiserHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_RiserHeight));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_TreadLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_TreadLength));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v13_PredefinedType,::Ifc4x3_rc4::IfcStairFlightTypeEnum::ToString(*v13_PredefinedType))));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcStairFlightType -::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value Ifc4x3_rc4::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value Ifc4x3_rc4::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcStairFlightType::setPredefinedType(::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStairFlightTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStairFlightType::declaration() const { return *IFC4X3_RC4_IfcStairFlightType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcStairFlightType::Class() { return *IFC4X3_RC4_IfcStairFlightType_type; } Ifc4x3_rc4::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcStairFlightType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcStairFlightType::IfcStairFlightType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStairFlightType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcStairFlightTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcStairFlightType::IfcStairFlightType(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::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStairFlightType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcStairFlightTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcStairType -::Ifc4x3_rc4::IfcStairTypeEnum::Value Ifc4x3_rc4::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcStairTypeEnum::Value Ifc4x3_rc4::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcStairType::setPredefinedType(::Ifc4x3_rc4::IfcStairTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStairTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStairType::declaration() const { return *IFC4X3_RC4_IfcStairType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcStairType::Class() { return *IFC4X3_RC4_IfcStairType_type; } Ifc4x3_rc4::IfcStairType::IfcStairType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcStairType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcStairType::IfcStairType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStairType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcStairTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcStairType::IfcStairType(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::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStairType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcStairTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralAction -bool Ifc4x3_rc4::IfcStructuralAction::hasDestabilizingLoad() const { return !data_->getArgument(9)->isNull(); } -bool Ifc4x3_rc4::IfcStructuralAction::DestabilizingLoad() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcStructuralAction::setDestabilizingLoad(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } +boost::optional< bool > Ifc4x3_rc4::IfcStructuralAction::DestabilizingLoad() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralAction::declaration() const { return *IFC4X3_RC4_IfcStructuralAction_type; } @@ -21562,9 +21416,9 @@ 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 (::Ifc4x3_rc4::IfcStructuralLoad*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcStructuralLoad* Ifc4x3_rc4::IfcStructuralActivity::AppliedLoad() const { return (::Ifc4x3_rc4::IfcStructuralLoad*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } 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)); } +::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);} } ::Ifc4x3_rc4::IfcRelConnectsStructuralActivity::list::ptr Ifc4x3_rc4::IfcStructuralActivity::AssignedToStructuralItem() const { return data_->getInverse(IFC4X3_RC4_IfcRelConnectsStructuralActivity_type, 5)->as(); } @@ -21575,30 +21429,25 @@ Ifc4x3_rc4::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData* Ifc4x3_rc4::IfcStructuralActivity::IfcStructuralActivity(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) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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);} } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } +::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);} } -bool Ifc4x3_rc4::IfcStructuralAnalysisModel::hasOrientationOf2DPlane() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcStructuralAnalysisModel::hasLoadedBy() const { return !data_->getArgument(7)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr Ifc4x3_rc4::IfcStructuralAnalysisModel::LoadedBy() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadGroup >(); } -void Ifc4x3_rc4::IfcStructuralAnalysisModel::setLoadedBy(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcStructuralAnalysisModel::hasHasResults() const { return !data_->getArgument(8)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr Ifc4x3_rc4::IfcStructuralAnalysisModel::HasResults() const { IfcEntityList::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcStructuralResultGroup >(); } -void Ifc4x3_rc4::IfcStructuralAnalysisModel::setHasResults(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcStructuralAnalysisModel::hasSharedPlacement() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcStructuralAnalysisModel::SharedPlacement() const { return (::Ifc4x3_rc4::IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +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 (::Ifc4x3_rc4::IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralAnalysisModel::declaration() const { return *IFC4X3_RC4_IfcStructuralAnalysisModel_type; } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralAnalysisModel::Class() { return *IFC4X3_RC4_IfcStructuralAnalysisModel_type; } Ifc4x3_rc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData* e) : IfcSystem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcStructuralAnalysisModel_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< ::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);} } +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 -bool Ifc4x3_rc4::IfcStructuralConnection::hasAppliedCondition() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcStructuralConnection::AppliedCondition() const { return (::Ifc4x3_rc4::IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } 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(); } @@ -21609,9 +21458,8 @@ Ifc4x3_rc4::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceDa Ifc4x3_rc4::IfcStructuralConnection::IfcStructuralConnection(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::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralConnection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_AppliedCondition));data_->setArgument(7,attr);} } // Function implementations for IfcStructuralConnectionCondition -bool Ifc4x3_rc4::IfcStructuralConnectionCondition::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcStructuralConnectionCondition::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcStructuralConnectionCondition::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralConnectionCondition::declaration() const { return *IFC4X3_RC4_IfcStructuralConnectionCondition_type; } @@ -21620,10 +21468,9 @@ Ifc4x3_rc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(I Ifc4x3_rc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralConnectionCondition_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); } } // Function implementations for IfcStructuralCurveAction -bool Ifc4x3_rc4::IfcStructuralCurveAction::hasProjectedOrTrue() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_rc4::IfcStructuralCurveAction::ProjectedOrTrue() const { return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcStructuralCurveAction::setProjectedOrTrue(::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::ToString(v)));data_->setArgument(10,attr);} } -::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } +boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -21633,7 +21480,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 (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveConnection::Axis() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcStructuralCurveConnection::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21643,9 +21490,9 @@ Ifc4x3_rc4::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntity Ifc4x3_rc4::IfcStructuralCurveConnection::IfcStructuralCurveConnection(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::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc4::IfcDirection* v9_Axis) : IfcStructuralConnection((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralCurveConnection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_AppliedCondition));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Axis));data_->setArgument(8,attr);} } // Function implementations for IfcStructuralCurveMember -::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::FromString(*data_->getArgument(7)); } +::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 (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveMember::Axis() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcStructuralCurveMember::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21663,7 +21510,7 @@ Ifc4x3_rc4::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(Ifc Ifc4x3_rc4::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(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::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection* v9_Axis) : IfcStructuralCurveMember((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralCurveMemberVarying_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PredefinedType,::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Axis));data_->setArgument(8,attr);} } // Function implementations for IfcStructuralCurveReaction -::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(9,attr);} } @@ -21690,9 +21537,8 @@ Ifc4x3_rc4::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstan Ifc4x3_rc4::IfcStructuralLinearAction::IfcStructuralLinearAction(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) : IfcStructuralCurveAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::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 IfcStructuralLoad -bool Ifc4x3_rc4::IfcStructuralLoad::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcStructuralLoad::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcStructuralLoad::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoad::declaration() const { return *IFC4X3_RC4_IfcStructuralLoad_type; } @@ -21701,9 +21547,8 @@ Ifc4x3_rc4::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoad_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); } } // Function implementations for IfcStructuralLoadCase -bool Ifc4x3_rc4::IfcStructuralLoadCase::hasSelfWeightCoefficients() const { return !data_->getArgument(10)->isNull(); } -std::vector< double > /*[3:3]*/ Ifc4x3_rc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcStructuralLoadCase::setSelfWeightCoefficients(std::vector< double > /*[3:3]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadCase::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadCase_type; } @@ -21712,31 +21557,28 @@ Ifc4x3_rc4::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData* Ifc4x3_rc4::IfcStructuralLoadCase::IfcStructuralLoadCase(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::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose, boost::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) : IfcStructuralLoadGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcLoadGroupTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v7_ActionType,::Ifc4x3_rc4::IfcActionTypeEnum::ToString(v7_ActionType))));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_ActionSource,::Ifc4x3_rc4::IfcActionSourceTypeEnum::ToString(v8_ActionSource))));data_->setArgument(7,attr);} if (v9_Coefficient) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Coefficient));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Purpose));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_SelfWeightCoefficients) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_SelfWeightCoefficients));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcStructuralLoadConfiguration -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc4::IfcStructuralLoadConfiguration::Values() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >(); } -void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadConfiguration::hasLocations() const { return !data_->getArgument(2)->isNull(); } -std::vector< std::vector< double > > Ifc4x3_rc4::IfcStructuralLoadConfiguration::Locations() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setLocations(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc4::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >(); } +void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcStructuralLoadConfiguration::Locations() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadConfiguration::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadConfiguration_type; } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadConfiguration::Class() { return *IFC4X3_RC4_IfcStructuralLoadConfiguration_type; } Ifc4x3_rc4::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData* e) : IfcStructuralLoad((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcStructuralLoadConfiguration_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadConfiguration_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_Values)->generalize());data_->setArgument(1,attr);} if (v3_Locations) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Locations));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadConfiguration_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_Values)->generalize());data_->setArgument(1,attr);} if (v3_Locations) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Locations));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStructuralLoadGroup -::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::FromString(*data_->getArgument(5)); } +::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLoadGroupTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcActionTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc4::IfcActionTypeEnum::FromString(*data_->getArgument(6)); } +::Ifc4x3_rc4::IfcActionTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc4::IfcActionTypeEnum::FromString(*data_->getArgument(6)); } void Ifc4x3_rc4::IfcStructuralLoadGroup::setActionType(::Ifc4x3_rc4::IfcActionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcActionTypeEnum::ToString(v)));data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc4::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } +::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc4::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadGroup::hasCoefficient() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadGroup::Coefficient() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcStructuralLoadGroup::setCoefficient(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadGroup::hasPurpose() const { return !data_->getArgument(9)->isNull(); } -std::string Ifc4x3_rc4::IfcStructuralLoadGroup::Purpose() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcStructuralLoadGroup::setPurpose(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } ::Ifc4x3_rc4::IfcStructuralResultGroup::list::ptr Ifc4x3_rc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC4X3_RC4_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc4x3_rc4::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc4::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC4X3_RC4_IfcStructuralAnalysisModel_type, 7)->as(); } @@ -21747,24 +21589,18 @@ Ifc4x3_rc4::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData Ifc4x3_rc4::IfcStructuralLoadGroup::IfcStructuralLoadGroup(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::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcLoadGroupTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v7_ActionType,::Ifc4x3_rc4::IfcActionTypeEnum::ToString(v7_ActionType))));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_ActionSource,::Ifc4x3_rc4::IfcActionSourceTypeEnum::ToString(v8_ActionSource))));data_->setArgument(7,attr);} if (v9_Coefficient) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Coefficient));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Purpose));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralLoadLinearForce -bool Ifc4x3_rc4::IfcStructuralLoadLinearForce::hasLinearForceX() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceX() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadLinearForce::hasLinearForceY() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceY() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadLinearForce::hasLinearForceZ() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceZ() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadLinearForce::hasLinearMomentX() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentX() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadLinearForce::hasLinearMomentY() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentY() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadLinearForce::hasLinearMomentZ() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentZ() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadLinearForce::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadLinearForce_type; } @@ -21781,15 +21617,12 @@ Ifc4x3_rc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstan Ifc4x3_rc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadOrResult_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); } } // Function implementations for IfcStructuralLoadPlanarForce -bool Ifc4x3_rc4::IfcStructuralLoadPlanarForce::hasPlanarForceX() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadPlanarForce::hasPlanarForceY() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceY() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadPlanarForce::hasPlanarForceZ() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadPlanarForce::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadPlanarForce_type; } @@ -21798,24 +21631,18 @@ Ifc4x3_rc4::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntity Ifc4x3_rc4::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_PlanarForceX, boost::optional< double > v3_PlanarForceY, boost::optional< double > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadPlanarForce_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_PlanarForceX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_PlanarForceX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_PlanarForceY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_PlanarForceY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_PlanarForceZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_PlanarForceZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcStructuralLoadSingleDisplacement -bool Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::hasDisplacementX() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::hasDisplacementY() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::hasDisplacementZ() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRX() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRY() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRZ() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadSingleDisplacement_type; } @@ -21824,9 +21651,8 @@ Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplace Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadSingleDisplacement_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_DisplacementX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DisplacementX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DisplacementY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DisplacementY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DisplacementZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DisplacementZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_RotationalDisplacementRX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_RotationalDisplacementRX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_RotationalDisplacementRY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RotationalDisplacementRY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RotationalDisplacementRZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RotationalDisplacementRZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -bool Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::hasDistortion() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadSingleDisplacementDistortion_type; } @@ -21835,24 +21661,18 @@ Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSing Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ, boost::optional< double > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadSingleDisplacementDistortion_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_DisplacementX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DisplacementX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DisplacementY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DisplacementY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DisplacementZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DisplacementZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_RotationalDisplacementRX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_RotationalDisplacementRX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_RotationalDisplacementRY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RotationalDisplacementRY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RotationalDisplacementRZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RotationalDisplacementRZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Distortion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Distortion));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcStructuralLoadSingleForce -bool Ifc4x3_rc4::IfcStructuralLoadSingleForce::hasForceX() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceX() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleForce::hasForceY() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceY() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleForce::hasForceZ() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceZ() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleForce::hasMomentX() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentX() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleForce::hasMomentY() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentY() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadSingleForce::hasMomentZ() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentZ() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForce::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadSingleForce_type; } @@ -21861,9 +21681,8 @@ Ifc4x3_rc4::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntity Ifc4x3_rc4::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ) : IfcStructuralLoadStatic((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadSingleForce_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_ForceX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ForceX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ForceY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ForceY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ForceZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ForceZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_MomentX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_MomentX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_MomentY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_MomentY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_MomentZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_MomentZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcStructuralLoadSingleForceWarping -bool Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::hasWarpingMoment() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadSingleForceWarping_type; } @@ -21880,15 +21699,12 @@ Ifc4x3_rc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceDa Ifc4x3_rc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralLoadStatic_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); } } // Function implementations for IfcStructuralLoadTemperature -bool Ifc4x3_rc4::IfcStructuralLoadTemperature::hasDeltaTConstant() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTConstant() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTConstant(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadTemperature::hasDeltaTY() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTY() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcStructuralLoadTemperature::hasDeltaTZ() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTZ() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTZ(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadTemperature::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadTemperature_type; } @@ -21922,8 +21738,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 -bool Ifc4x3_rc4::IfcStructuralPointConnection::hasConditionCoordinateSystem() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21949,12 +21764,11 @@ Ifc4x3_rc4::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData* Ifc4x3_rc4::IfcStructuralReaction::IfcStructuralReaction(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) : IfcStructuralActivity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralReaction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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);} } // Function implementations for IfcStructuralResultGroup -::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } +::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);} } -bool Ifc4x3_rc4::IfcStructuralResultGroup::hasResultForLoadGroup() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcStructuralLoadGroup* Ifc4x3_rc4::IfcStructuralResultGroup::ResultForLoadGroup() const { return (::Ifc4x3_rc4::IfcStructuralLoadGroup*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcStructuralLoadGroup* Ifc4x3_rc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcStructuralLoadGroup*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } 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 { return *data_->getArgument(7); } +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);} } ::Ifc4x3_rc4::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc4::IfcStructuralResultGroup::ResultGroupFor() const { return data_->getInverse(IFC4X3_RC4_IfcStructuralAnalysisModel_type, 8)->as(); } @@ -21965,10 +21779,9 @@ Ifc4x3_rc4::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstance Ifc4x3_rc4::IfcStructuralResultGroup::IfcStructuralResultGroup(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::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc4::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralResultGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_TheoryType,::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ResultForLoadGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_IsLinear));data_->setArgument(7,attr);} } // Function implementations for IfcStructuralSurfaceAction -bool Ifc4x3_rc4::IfcStructuralSurfaceAction::hasProjectedOrTrue() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcStructuralSurfaceAction::setProjectedOrTrue(::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::ToString(v)));data_->setArgument(10,attr);} } -::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } +boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -21986,11 +21799,10 @@ Ifc4x3_rc4::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEn Ifc4x3_rc4::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(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::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralSurfaceConnection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_AppliedCondition));data_->setArgument(7,attr);} } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } +::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcStructuralSurfaceMember::hasThickness() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcStructuralSurfaceMember::Thickness() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcStructuralSurfaceMember::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceMember::declaration() const { return *IFC4X3_RC4_IfcStructuralSurfaceMember_type; } @@ -22007,7 +21819,7 @@ Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(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::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralSurfaceMemberVarying_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PredefinedType,::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType))));data_->setArgument(7,attr);} if (v9_Thickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Thickness));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(9,attr);} } @@ -22022,23 +21834,21 @@ Ifc4x3_rc4::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::stri const IfcParse::entity& Ifc4x3_rc4::IfcStyleModel::declaration() const { return *IFC4X3_RC4_IfcStyleModel_type; } const IfcParse::entity& Ifc4x3_rc4::IfcStyleModel::Class() { return *IFC4X3_RC4_IfcStyleModel_type; } Ifc4x3_rc4::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresentation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcStyleModel_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::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);} } +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 -bool Ifc4x3_rc4::IfcStyledItem::hasItem() const { return !data_->getArgument(0)->isNull(); } -::Ifc4x3_rc4::IfcRepresentationItem* Ifc4x3_rc4::IfcStyledItem::Item() const { return (::Ifc4x3_rc4::IfcRepresentationItem*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcRepresentationItem* Ifc4x3_rc4::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcRepresentationItem*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcStyledItem::setItem(::Ifc4x3_rc4::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Ifc4x3_rc4::IfcStyledItem::Styles() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPresentationStyle >(); } -void Ifc4x3_rc4::IfcStyledItem::setStyles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcStyledItem::hasName() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcStyledItem::Name() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcStyledItem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStyledItem::declaration() const { return *IFC4X3_RC4_IfcStyledItem_type; } const IfcParse::entity& Ifc4x3_rc4::IfcStyledItem::Class() { return *IFC4X3_RC4_IfcStyledItem_type; } Ifc4x3_rc4::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcStyledItem_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc4::IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStyledItem_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); } } +Ifc4x3_rc4::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc4::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStyledItem_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 IfcStyledRepresentation @@ -22046,31 +21856,30 @@ Ifc4x3_rc4::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc4::IfcRepresentationItem* v1 const IfcParse::entity& Ifc4x3_rc4::IfcStyledRepresentation::declaration() const { return *IFC4X3_RC4_IfcStyledRepresentation_type; } const IfcParse::entity& Ifc4x3_rc4::IfcStyledRepresentation::Class() { return *IFC4X3_RC4_IfcStyledRepresentation_type; } Ifc4x3_rc4::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData* e) : IfcStyleModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcStyledRepresentation_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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);} } +Ifc4x3_rc4::IfcStyledRepresentation::IfcStyledRepresentation(::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) : IfcStyleModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 -bool Ifc4x3_rc4::IfcSubContractResource::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc4::IfcSubContractResource::PredefinedType() const { return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcSubContractResource::setPredefinedType(::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::ToString(v)));data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc4::IfcSubContractResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSubContractResource::declaration() const { return *IFC4X3_RC4_IfcSubContractResource_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSubContractResource::Class() { return *IFC4X3_RC4_IfcSubContractResource_type; } Ifc4x3_rc4::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSubContractResource_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSubContractResource::IfcSubContractResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcSubContractResource::IfcSubContractResource(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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->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_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcSubContractResourceType -::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc4::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(11)); } +::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc4::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcSubContractResourceType::setPredefinedType(::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSubContractResourceType::declaration() const { return *IFC4X3_RC4_IfcSubContractResourceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSubContractResourceType::Class() { return *IFC4X3_RC4_IfcSubContractResourceType_type; } Ifc4x3_rc4::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSubContractResourceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcEdge*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcSubedge::ParentEdge() const { return (::Ifc4x3_rc4::IfcEdge*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcSubedge::setParentEdge(::Ifc4x3_rc4::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -22088,21 +21897,21 @@ 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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSurfaceCurve::Curve3D() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcSurfaceCurve::setCurve3D(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPcurve >::ptr Ifc4x3_rc4::IfcSurfaceCurve::AssociatedGeometry() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPcurve >(); } -void Ifc4x3_rc4::IfcSurfaceCurve::setAssociatedGeometry(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPcurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc4::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::FromString(*data_->getArgument(2)); } +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);} } +::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc4::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::FromString(*data_->getArgument(2)); } void Ifc4x3_rc4::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::ToString(v)));data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceCurve::declaration() const { return *IFC4X3_RC4_IfcSurfaceCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceCurve::Class() { return *IFC4X3_RC4_IfcSurfaceCurve_type; } Ifc4x3_rc4::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData* e) : IfcCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSurfaceCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc4::IfcCurve* v1_Curve3D, IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return (::Ifc4x3_rc4::IfcSurface*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_rc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22112,10 +21921,10 @@ Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEnti Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc4::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 IfcSurfaceFeature -bool Ifc4x3_rc4::IfcSurfaceFeature::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_rc4::IfcSurfaceFeature::PredefinedType() const { return ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSurfaceFeature::setPredefinedType(::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc4::IfcSurfaceFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +::Ifc4x3_rc4::IfcRelAdheresToElement::list::ptr Ifc4x3_rc4::IfcSurfaceFeature::AdheresToElement() const { return data_->getInverse(IFC4X3_RC4_IfcRelAdheresToElement_type, 5)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceFeature::declaration() const { return *IFC4X3_RC4_IfcSurfaceFeature_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceFeature::Class() { return *IFC4X3_RC4_IfcSurfaceFeature_type; } @@ -22123,9 +21932,9 @@ 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 (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 { return *data_->getArgument(3); } +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);} } @@ -22135,7 +21944,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 (::Ifc4x3_rc4::IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcSurfaceOfRevolution::AxisPosition() const { return (::Ifc4x3_rc4::IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_rc4::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -22145,15 +21954,12 @@ Ifc4x3_rc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData Ifc4x3_rc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceOfRevolution_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_AxisPosition));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceReinforcementArea -bool Ifc4x3_rc4::IfcSurfaceReinforcementArea::hasSurfaceReinforcement1() const { return !data_->getArgument(1)->isNull(); } -std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(std::vector< double > /*[2:3]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcSurfaceReinforcementArea::hasSurfaceReinforcement2() const { return !data_->getArgument(2)->isNull(); } -std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(std::vector< double > /*[2:3]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSurfaceReinforcementArea::hasShearReinforcement() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcSurfaceReinforcementArea::ShearReinforcement() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setShearReinforcement(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceReinforcementArea::declaration() const { return *IFC4X3_RC4_IfcSurfaceReinforcementArea_type; } @@ -22162,25 +21968,25 @@ Ifc4x3_rc4::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityIn Ifc4x3_rc4::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional< std::string > v1_Name, boost::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, boost::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, boost::optional< double > v4_ShearReinforcement) : IfcStructuralLoadOrResult((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceReinforcementArea_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_SurfaceReinforcement1) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_SurfaceReinforcement1));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SurfaceReinforcement2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SurfaceReinforcement2));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ShearReinforcement) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ShearReinforcement));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcSurfaceStyle -::Ifc4x3_rc4::IfcSurfaceSide::Value Ifc4x3_rc4::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc4::IfcSurfaceSide::FromString(*data_->getArgument(1)); } +::Ifc4x3_rc4::IfcSurfaceSide::Value Ifc4x3_rc4::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc4::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3_rc4::IfcSurfaceStyle::setSide(::Ifc4x3_rc4::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -IfcEntityList::ptr Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyle::declaration() const { return *IFC4X3_RC4_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyle::Class() { return *IFC4X3_RC4_IfcSurfaceStyle_type; } Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSurfaceStyle_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, IfcEntityList::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);} } +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 (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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 (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::TransmissionColour() const { return (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -22190,12 +21996,10 @@ Ifc4x3_rc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceDa Ifc4x3_rc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc4::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_rc4::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_rc4::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyleLighting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DiffuseTransmissionColour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_DiffuseReflectionColour));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TransmissionColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ReflectanceColour));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceStyleRefraction -bool Ifc4x3_rc4::IfcSurfaceStyleRefraction::hasRefractionIndex() const { return !data_->getArgument(0)->isNull(); } -double Ifc4x3_rc4::IfcSurfaceStyleRefraction::RefractionIndex() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setRefractionIndex(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcSurfaceStyleRefraction::hasDispersionFactor() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcSurfaceStyleRefraction::DispersionFactor() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setDispersionFactor(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleRefraction::declaration() const { return *IFC4X3_RC4_IfcSurfaceStyleRefraction_type; } @@ -22204,25 +22008,19 @@ 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 -bool Ifc4x3_rc4::IfcSurfaceStyleRendering::hasDiffuseColour() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseColour() const { return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSurfaceStyleRendering::hasTransmissionColour() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::TransmissionColour() const { return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcSurfaceStyleRendering::hasDiffuseTransmissionColour() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcSurfaceStyleRendering::hasReflectionColour() const { return !data_->getArgument(5)->isNull(); } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectionColour() const { return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcSurfaceStyleRendering::hasSpecularColour() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularColour() const { return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcSurfaceStyleRendering::hasSpecularHighlight() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcSpecularHighlightSelect* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularHighlight() const { return (::Ifc4x3_rc4::IfcSpecularHighlightSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +::Ifc4x3_rc4::IfcSpecularHighlightSelect* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcSpecularHighlightSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } 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)); } +::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);} } @@ -22232,11 +22030,10 @@ 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 (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleShading::SurfaceColour() const { return (::Ifc4x3_rc4::IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcSurfaceStyleShading::hasTransparency() const { return !data_->getArgument(1)->isNull(); } -double Ifc4x3_rc4::IfcSurfaceStyleShading::Transparency() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcSurfaceStyleShading::setTransparency(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleShading::declaration() const { return *IFC4X3_RC4_IfcSurfaceStyleShading_type; } @@ -22245,29 +22042,26 @@ Ifc4x3_rc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData Ifc4x3_rc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_rc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyleShading_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); } } // Function implementations for IfcSurfaceStyleWithTextures -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Textures() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcSurfaceTexture >(); } -void Ifc4x3_rc4::IfcSurfaceStyleWithTextures::setTextures(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcSurfaceTexture >(); } +void Ifc4x3_rc4::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleWithTextures::declaration() const { return *IFC4X3_RC4_IfcSurfaceStyleWithTextures_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Class() { return *IFC4X3_RC4_IfcSurfaceStyleWithTextures_type; } Ifc4x3_rc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSurfaceStyleWithTextures_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyleWithTextures_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Textures)->generalize());data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyleWithTextures_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Textures)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSurfaceTexture -bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatS() const { return *data_->getArgument(0); } +bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatS() const { bool v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setRepeatS(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatT() const { return *data_->getArgument(1); } +bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcSurfaceTexture::hasMode() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcSurfaceTexture::Mode() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSurfaceTexture::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSurfaceTexture::hasTextureTransform() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcSurfaceTexture::TextureTransform() const { return (::Ifc4x3_rc4::IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +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 (::Ifc4x3_rc4::IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcSurfaceTexture::hasParameter() const { return !data_->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcSurfaceTexture::Parameter() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcSurfaceTexture::setParameter(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,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);} } ::Ifc4x3_rc4::IfcTextureCoordinate::list::ptr Ifc4x3_rc4::IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IFC4X3_RC4_IfcTextureCoordinate_type, 0)->as(); } ::Ifc4x3_rc4::IfcSurfaceStyleWithTextures::list::ptr Ifc4x3_rc4::IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IFC4X3_RC4_IfcSurfaceStyleWithTextures_type, 0)->as(); } @@ -22278,10 +22072,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 (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptAreaSolid::SweptArea() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcSweptAreaSolid::hasPosition() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptAreaSolid::Position() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcSweptAreaSolid::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22291,19 +22084,16 @@ 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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSweptDiskSolid::Directrix() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } -bool Ifc4x3_rc4::IfcSweptDiskSolid::hasInnerRadius() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcSweptDiskSolid::InnerRadius() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcSweptDiskSolid::setInnerRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcSweptDiskSolid::hasStartParam() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcSweptDiskSolid::StartParam() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcSweptDiskSolid::setStartParam(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcSweptDiskSolid::hasEndParam() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcSweptDiskSolid::EndParam() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcSweptDiskSolid::setEndParam(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSweptDiskSolid::declaration() const { return *IFC4X3_RC4_IfcSweptDiskSolid_type; } @@ -22312,9 +22102,8 @@ Ifc4x3_rc4::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc4::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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); } 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 IfcSweptDiskSolidPolygonal -bool Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::hasFilletRadius() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::setFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::declaration() const { return *IFC4X3_RC4_IfcSweptDiskSolidPolygonal_type; } @@ -22323,10 +22112,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 (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptSurface::SweptCurve() const { return (::Ifc4x3_rc4::IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcSweptSurface::setSweptCurve(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcSweptSurface::hasPosition() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptSurface::Position() const { return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcSweptSurface::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22336,9 +22124,8 @@ Ifc4x3_rc4::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData* e) : IfcSurf Ifc4x3_rc4::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position) : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSweptSurface_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);} } // Function implementations for IfcSwitchingDevice -bool Ifc4x3_rc4::IfcSwitchingDevice::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc4::IfcSwitchingDevice::PredefinedType() const { return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSwitchingDevice::setPredefinedType(::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSwitchingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSwitchingDevice::declaration() const { return *IFC4X3_RC4_IfcSwitchingDevice_type; } @@ -22347,14 +22134,14 @@ Ifc4x3_rc4::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcSwitchingDevice::IfcSwitchingDevice(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::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSwitchingDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSwitchingDeviceTypeEnum::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 IfcSwitchingDeviceType -::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc4::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc4::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSwitchingDeviceType::declaration() const { return *IFC4X3_RC4_IfcSwitchingDeviceType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSwitchingDeviceType::Class() { return *IFC4X3_RC4_IfcSwitchingDeviceType_type; } Ifc4x3_rc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSwitchingDeviceType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(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::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSystem @@ -22367,9 +22154,8 @@ Ifc4x3_rc4::IfcSystem::IfcSystem(IfcEntityInstanceData* e) : IfcGroup((IfcEntity Ifc4x3_rc4::IfcSystem::IfcSystem(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) : IfcGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSystem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcSystemFurnitureElement -bool Ifc4x3_rc4::IfcSystemFurnitureElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_rc4::IfcSystemFurnitureElement::PredefinedType() const { return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSystemFurnitureElement::setPredefinedType(::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSystemFurnitureElement::declaration() const { return *IFC4X3_RC4_IfcSystemFurnitureElement_type; } @@ -22378,40 +22164,34 @@ Ifc4x3_rc4::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstan Ifc4x3_rc4::IfcSystemFurnitureElement::IfcSystemFurnitureElement(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::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSystemFurnitureElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcSystemFurnitureElementTypeEnum::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 IfcSystemFurnitureElementType -bool Ifc4x3_rc4::IfcSystemFurnitureElementType::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_rc4::IfcSystemFurnitureElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcSystemFurnitureElementType::setPredefinedType(::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElementType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSystemFurnitureElementType::declaration() const { return *IFC4X3_RC4_IfcSystemFurnitureElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcSystemFurnitureElementType::Class() { return *IFC4X3_RC4_IfcSystemFurnitureElementType_type; } Ifc4x3_rc4::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData* e) : IfcFurnishingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcSystemFurnitureElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSystemFurnitureElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } +Ifc4x3_rc4::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(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, boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSystemFurnitureElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcTShapeProfileDef -double Ifc4x3_rc4::IfcTShapeProfileDef::Depth() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcTShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeWidth() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeWidth() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcTShapeProfileDef::WebThickness() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcTShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeThickness() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcTShapeProfileDef::hasFilletRadius() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcTShapeProfileDef::FilletRadius() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcTShapeProfileDef::setFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcTShapeProfileDef::hasFlangeEdgeRadius() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeEdgeRadius() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeEdgeRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcTShapeProfileDef::hasWebEdgeRadius() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcTShapeProfileDef::WebEdgeRadius() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcTShapeProfileDef::setWebEdgeRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcTShapeProfileDef::hasWebSlope() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcTShapeProfileDef::WebSlope() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcTShapeProfileDef::setWebSlope(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcTShapeProfileDef::hasFlangeSlope() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeSlope() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeSlope(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcTShapeProfileDef_type; } @@ -22420,37 +22200,29 @@ Ifc4x3_rc4::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTShapeProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_FlangeEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_FlangeEdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_WebEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_WebEdgeRadius));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_WebSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_WebSlope));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FlangeSlope));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } // Function implementations for IfcTable -bool Ifc4x3_rc4::IfcTable::hasName() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcTable::Name() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcTable::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcTable::hasRows() const { return !data_->getArgument(1)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableRow >::ptr Ifc4x3_rc4::IfcTable::Rows() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcTableRow >(); } -void Ifc4x3_rc4::IfcTable::setRows(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableRow >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcTable::hasColumns() const { return !data_->getArgument(2)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableColumn >::ptr Ifc4x3_rc4::IfcTable::Columns() const { IfcEntityList::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcTableColumn >(); } -void Ifc4x3_rc4::IfcTable::setColumns(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableColumn >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTable::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > Ifc4x3_rc4::IfcTable::Rows() 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::IfcTableRow >(); } +void Ifc4x3_rc4::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > Ifc4x3_rc4::IfcTable::Columns() 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::IfcTableColumn >(); } +void Ifc4x3_rc4::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTable::declaration() const { return *IFC4X3_RC4_IfcTable_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTable::Class() { return *IFC4X3_RC4_IfcTable_type; } Ifc4x3_rc4::IfcTable::IfcTable(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTable_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableRow >::ptr > v2_Rows, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTable_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_Rows) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Rows)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Columns) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Columns)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTable_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_Rows) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Rows)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Columns) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Columns)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcTableColumn -bool Ifc4x3_rc4::IfcTableColumn::hasIdentifier() const { return !data_->getArgument(0)->isNull(); } -std::string Ifc4x3_rc4::IfcTableColumn::Identifier() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcTableColumn::setIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcTableColumn::hasName() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcTableColumn::Name() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcTableColumn::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcTableColumn::hasDescription() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcTableColumn::Description() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcTableColumn::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcTableColumn::hasUnit() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTableColumn::Unit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +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 (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcTableColumn::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcTableColumn::hasReferencePath() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcTableColumn::ReferencePath() const { return (::Ifc4x3_rc4::IfcReference*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcReference*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcTableColumn::setReferencePath(::Ifc4x3_rc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -22460,23 +22232,20 @@ Ifc4x3_rc4::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc4::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc4::IfcUnit* v4_Unit, ::Ifc4x3_rc4::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -bool Ifc4x3_rc4::IfcTableRow::hasRowCells() const { return !data_->getArgument(0)->isNull(); } -IfcEntityList::ptr Ifc4x3_rc4::IfcTableRow::RowCells() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcTableRow::setRowCells(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcTableRow::hasIsHeading() const { return !data_->getArgument(1)->isNull(); } -bool Ifc4x3_rc4::IfcTableRow::IsHeading() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcTableRow::setIsHeading(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +boost::optional< bool > Ifc4x3_rc4::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTableRow::declaration() const { return *IFC4X3_RC4_IfcTableRow_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTableRow::Class() { return *IFC4X3_RC4_IfcTableRow_type; } Ifc4x3_rc4::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTableRow_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTableRow::IfcTableRow(boost::optional< IfcEntityList::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3_rc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank -bool Ifc4x3_rc4::IfcTank::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcTankTypeEnum::Value Ifc4x3_rc4::IfcTank::PredefinedType() const { return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcTank::setPredefinedType(::Ifc4x3_rc4::IfcTankTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTankTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > Ifc4x3_rc4::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTankTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTank::declaration() const { return *IFC4X3_RC4_IfcTank_type; } @@ -22485,33 +22254,28 @@ Ifc4x3_rc4::IfcTank::IfcTank(IfcEntityInstanceData* e) : IfcFlowStorageDevice((I Ifc4x3_rc4::IfcTank::IfcTank(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::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTank_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTankTypeEnum::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 IfcTankType -::Ifc4x3_rc4::IfcTankTypeEnum::Value Ifc4x3_rc4::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcTankTypeEnum::Value Ifc4x3_rc4::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTankType::setPredefinedType(::Ifc4x3_rc4::IfcTankTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTankTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTankType::declaration() const { return *IFC4X3_RC4_IfcTankType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTankType::Class() { return *IFC4X3_RC4_IfcTankType_type; } Ifc4x3_rc4::IfcTankType::IfcTankType(IfcEntityInstanceData* e) : IfcFlowStorageDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTankType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTankType::IfcTankType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTankType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTankTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcTankType::IfcTankType(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::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTankType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTankTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTask -bool Ifc4x3_rc4::IfcTask::hasStatus() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcTask::Status() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcTask::setStatus(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcTask::hasWorkMethod() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcTask::WorkMethod() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcTask::setWorkMethod(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcTask::IsMilestone() const { return *data_->getArgument(9); } +boost::optional< std::string > Ifc4x3_rc4::IfcTask::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTask::WorkMethod() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +bool Ifc4x3_rc4::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); return v; } void Ifc4x3_rc4::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcTask::hasPriority() const { return !data_->getArgument(10)->isNull(); } -int Ifc4x3_rc4::IfcTask::Priority() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcTask::setPriority(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcTask::hasTaskTime() const { return !data_->getArgument(11)->isNull(); } -::Ifc4x3_rc4::IfcTaskTime* Ifc4x3_rc4::IfcTask::TaskTime() const { return (::Ifc4x3_rc4::IfcTaskTime*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(11))); } +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 (::Ifc4x3_rc4::IfcTaskTime*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(11))); } void Ifc4x3_rc4::IfcTask::setTaskTime(::Ifc4x3_rc4::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcTask::hasPredefinedType() const { return !data_->getArgument(12)->isNull(); } -::Ifc4x3_rc4::IfcTaskTypeEnum::Value Ifc4x3_rc4::IfcTask::PredefinedType() const { return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc4::IfcTask::setPredefinedType(::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);} } +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);} } const IfcParse::entity& Ifc4x3_rc4::IfcTask::declaration() const { return *IFC4X3_RC4_IfcTask_type; } @@ -22520,57 +22284,40 @@ Ifc4x3_rc4::IfcTask::IfcTask(IfcEntityInstanceData* e) : IfcProcess((IfcEntityIn Ifc4x3_rc4::IfcTask::IfcTask(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, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3_rc4::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTask_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } 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_WorkMethod) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_WorkMethod));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_IsMilestone));data_->setArgument(9,attr);} if (v11_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_Priority));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_TaskTime));data_->setArgument(11,attr);} if (v13_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v13_PredefinedType,::Ifc4x3_rc4::IfcTaskTypeEnum::ToString(*v13_PredefinedType))));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTaskTime -bool Ifc4x3_rc4::IfcTaskTime::hasDurationType() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcTaskDurationEnum::Value Ifc4x3_rc4::IfcTaskTime::DurationType() const { return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc4::IfcTaskTime::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(3,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasScheduleDuration() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::ScheduleDuration() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcTaskTime::setScheduleDuration(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasScheduleStart() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::ScheduleStart() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcTaskTime::setScheduleStart(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasScheduleFinish() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::ScheduleFinish() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcTaskTime::setScheduleFinish(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasEarlyStart() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::EarlyStart() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcTaskTime::setEarlyStart(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasEarlyFinish() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::EarlyFinish() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcTaskTime::setEarlyFinish(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasLateStart() const { return !data_->getArgument(9)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::LateStart() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcTaskTime::setLateStart(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasLateFinish() const { return !data_->getArgument(10)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::LateFinish() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcTaskTime::setLateFinish(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasFreeFloat() const { return !data_->getArgument(11)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::FreeFloat() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcTaskTime::setFreeFloat(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasTotalFloat() const { return !data_->getArgument(12)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::TotalFloat() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcTaskTime::setTotalFloat(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasIsCritical() const { return !data_->getArgument(13)->isNull(); } -bool Ifc4x3_rc4::IfcTaskTime::IsCritical() const { return *data_->getArgument(13); } -void Ifc4x3_rc4::IfcTaskTime::setIsCritical(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasStatusTime() const { return !data_->getArgument(14)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::StatusTime() const { return *data_->getArgument(14); } -void Ifc4x3_rc4::IfcTaskTime::setStatusTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasActualDuration() const { return !data_->getArgument(15)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::ActualDuration() const { return *data_->getArgument(15); } -void Ifc4x3_rc4::IfcTaskTime::setActualDuration(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasActualStart() const { return !data_->getArgument(16)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::ActualStart() const { return *data_->getArgument(16); } -void Ifc4x3_rc4::IfcTaskTime::setActualStart(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(16,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasActualFinish() const { return !data_->getArgument(17)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::ActualFinish() const { return *data_->getArgument(17); } -void Ifc4x3_rc4::IfcTaskTime::setActualFinish(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(17,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasRemainingTime() const { return !data_->getArgument(18)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskTime::RemainingTime() const { return *data_->getArgument(18); } -void Ifc4x3_rc4::IfcTaskTime::setRemainingTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(18,attr);} } -bool Ifc4x3_rc4::IfcTaskTime::hasCompletion() const { return !data_->getArgument(19)->isNull(); } -double Ifc4x3_rc4::IfcTaskTime::Completion() const { return *data_->getArgument(19); } -void Ifc4x3_rc4::IfcTaskTime::setCompletion(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(19,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > Ifc4x3_rc4::IfcTaskTime::DurationType() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } +void Ifc4x3_rc4::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTaskDurationEnum::ToString(*v)));data_->setArgument(3,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleDuration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::EarlyStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::EarlyFinish() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::LateStart() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::LateFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::FreeFloat() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::TotalFloat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +boost::optional< bool > Ifc4x3_rc4::IfcTaskTime::IsCritical() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } bool v = *data_->getArgument(13); return v; } +void Ifc4x3_rc4::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::StatusTime() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } +void Ifc4x3_rc4::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualDuration() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } +void Ifc4x3_rc4::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualStart() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } std::string v = *data_->getArgument(16); return v; } +void Ifc4x3_rc4::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualFinish() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } std::string v = *data_->getArgument(17); return v; } +void Ifc4x3_rc4::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::RemainingTime() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } +void Ifc4x3_rc4::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTaskTime::Completion() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } +void Ifc4x3_rc4::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTaskTime::declaration() const { return *IFC4X3_RC4_IfcTaskTime_type; } @@ -22579,7 +22326,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 (::Ifc4x3_rc4::IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(20))); } +::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcTaskTimeRecurring::Recurrence() const { return (::Ifc4x3_rc4::IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(20))); } void Ifc4x3_rc4::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_rc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(20,attr);} } @@ -22589,37 +22336,30 @@ Ifc4x3_rc4::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcTaskTimeRecurring::IfcTaskTimeRecurring(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, ::Ifc4x3_rc4::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTaskTimeRecurring_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v21_Recurrence));data_->setArgument(20,attr);} } // Function implementations for IfcTaskType -::Ifc4x3_rc4::IfcTaskTypeEnum::Value Ifc4x3_rc4::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcTaskTypeEnum::Value Ifc4x3_rc4::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTaskType::setPredefinedType(::Ifc4x3_rc4::IfcTaskTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTaskTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcTaskType::hasWorkMethod() const { return !data_->getArgument(10)->isNull(); } -std::string Ifc4x3_rc4::IfcTaskType::WorkMethod() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcTaskType::setWorkMethod(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskType::WorkMethod() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTaskType::declaration() const { return *IFC4X3_RC4_IfcTaskType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTaskType::Class() { return *IFC4X3_RC4_IfcTaskType_type; } Ifc4x3_rc4::IfcTaskType::IfcTaskType(IfcEntityInstanceData* e) : IfcTypeProcess((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTaskType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTaskType::IfcTaskType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTaskType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));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::IfcTaskTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_WorkMethod) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_WorkMethod));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } +Ifc4x3_rc4::IfcTaskType::IfcTaskType(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_ProcessType, ::Ifc4x3_rc4::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTaskType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));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::IfcTaskTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_WorkMethod) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_WorkMethod));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcTelecomAddress -bool Ifc4x3_rc4::IfcTelecomAddress::hasTelephoneNumbers() const { return !data_->getArgument(3)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTelecomAddress::TelephoneNumbers() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcTelecomAddress::setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcTelecomAddress::hasFacsimileNumbers() const { return !data_->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTelecomAddress::FacsimileNumbers() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcTelecomAddress::setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcTelecomAddress::hasPagerNumber() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcTelecomAddress::PagerNumber() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcTelecomAddress::setPagerNumber(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcTelecomAddress::hasElectronicMailAddresses() const { return !data_->getArgument(6)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTelecomAddress::ElectronicMailAddresses() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcTelecomAddress::setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcTelecomAddress::hasWWWHomePageURL() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcTelecomAddress::WWWHomePageURL() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcTelecomAddress::setWWWHomePageURL(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcTelecomAddress::hasMessagingIDs() const { return !data_->getArgument(8)->isNull(); } -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTelecomAddress::MessagingIDs() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcTelecomAddress::setMessagingIDs(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::FacsimileNumbers() 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::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::MessagingIDs() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTelecomAddress::declaration() const { return *IFC4X3_RC4_IfcTelecomAddress_type; } @@ -22628,30 +22368,22 @@ Ifc4x3_rc4::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< std::string > v6_PagerNumber, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< std::string > v8_WWWHomePageURL, boost::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) : IfcAddress((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTelecomAddress_type); if (v1_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v1_Purpose,::Ifc4x3_rc4::IfcAddressTypeEnum::ToString(*v1_Purpose))));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); } if (v3_UserDefinedPurpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedPurpose));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TelephoneNumbers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TelephoneNumbers));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FacsimileNumbers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FacsimileNumbers));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_PagerNumber) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_PagerNumber));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ElectronicMailAddresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ElectronicMailAddresses));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_WWWHomePageURL) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_WWWHomePageURL));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_MessagingIDs) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_MessagingIDs));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcTendon -bool Ifc4x3_rc4::IfcTendon::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcTendonTypeEnum::Value Ifc4x3_rc4::IfcTendon::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcTendon::setPredefinedType(::Ifc4x3_rc4::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcTendon::hasNominalDiameter() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcTendon::NominalDiameter() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcTendon::setNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcTendon::hasCrossSectionArea() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcTendon::CrossSectionArea() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcTendon::setCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcTendon::hasTensionForce() const { return !data_->getArgument(12)->isNull(); } -double Ifc4x3_rc4::IfcTendon::TensionForce() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcTendon::setTensionForce(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcTendon::hasPreStress() const { return !data_->getArgument(13)->isNull(); } -double Ifc4x3_rc4::IfcTendon::PreStress() const { return *data_->getArgument(13); } -void Ifc4x3_rc4::IfcTendon::setPreStress(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcTendon::hasFrictionCoefficient() const { return !data_->getArgument(14)->isNull(); } -double Ifc4x3_rc4::IfcTendon::FrictionCoefficient() const { return *data_->getArgument(14); } -void Ifc4x3_rc4::IfcTendon::setFrictionCoefficient(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -bool Ifc4x3_rc4::IfcTendon::hasAnchorageSlip() const { return !data_->getArgument(15)->isNull(); } -double Ifc4x3_rc4::IfcTendon::AnchorageSlip() const { return *data_->getArgument(15); } -void Ifc4x3_rc4::IfcTendon::setAnchorageSlip(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,attr);} } -bool Ifc4x3_rc4::IfcTendon::hasMinCurvatureRadius() const { return !data_->getArgument(16)->isNull(); } -double Ifc4x3_rc4::IfcTendon::MinCurvatureRadius() const { return *data_->getArgument(16); } -void Ifc4x3_rc4::IfcTendon::setMinCurvatureRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(16,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > Ifc4x3_rc4::IfcTendon::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTendonTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendon::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendon::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } +void Ifc4x3_rc4::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } +void Ifc4x3_rc4::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } +void Ifc4x3_rc4::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } +void Ifc4x3_rc4::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendon::declaration() const { return *IFC4X3_RC4_IfcTendon_type; } @@ -22660,9 +22392,8 @@ Ifc4x3_rc4::IfcTendon::IfcTendon(IfcEntityInstanceData* e) : IfcReinforcingEleme Ifc4x3_rc4::IfcTendon::IfcTendon(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< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendon_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcTendonTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); 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_TensionForce) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TensionForce));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PreStress) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_PreStress));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_FrictionCoefficient) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_FrictionCoefficient));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_AnchorageSlip) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_AnchorageSlip));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_MinCurvatureRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_MinCurvatureRadius));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcTendonAnchor -bool Ifc4x3_rc4::IfcTendonAnchor::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc4::IfcTendonAnchor::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcTendonAnchor::setPredefinedType(::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc4::IfcTendonAnchor::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendonAnchor::declaration() const { return *IFC4X3_RC4_IfcTendonAnchor_type; } @@ -22671,17 +22402,17 @@ Ifc4x3_rc4::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData* e) : IfcRein Ifc4x3_rc4::IfcTendonAnchor::IfcTendonAnchor(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< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcTendonAnchorType -::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc4::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc4::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTendonAnchorType::setPredefinedType(::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendonAnchorType::declaration() const { return *IFC4X3_RC4_IfcTendonAnchorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTendonAnchorType::Class() { return *IFC4X3_RC4_IfcTendonAnchorType_type; } Ifc4x3_rc4::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTendonAnchorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTendonAnchorType::IfcTendonAnchorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonAnchorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTendonAnchorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcTendonAnchorType::IfcTendonAnchorType(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::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonAnchorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTendonAnchorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTendonConduit -::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTendonConduit::setPredefinedType(::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTendonConduitTypeEnum::ToString(v)));data_->setArgument(9,attr);} } @@ -22691,36 +22422,33 @@ Ifc4x3_rc4::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData* e) : IfcRe Ifc4x3_rc4::IfcTendonConduit::IfcTendonConduit(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< std::string > v9_SteelGrade, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonConduit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcTendonConduitTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTendonConduitType -::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTendonConduitType::setPredefinedType(::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTendonConduitTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendonConduitType::declaration() const { return *IFC4X3_RC4_IfcTendonConduitType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTendonConduitType::Class() { return *IFC4X3_RC4_IfcTendonConduitType_type; } Ifc4x3_rc4::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTendonConduitType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTendonConduitType::IfcTendonConduitType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonConduitType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTendonConduitTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcTendonConduitType::IfcTendonConduitType(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::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonConduitType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTendonConduitTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTendonType -::Ifc4x3_rc4::IfcTendonTypeEnum::Value Ifc4x3_rc4::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcTendonTypeEnum::Value Ifc4x3_rc4::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTendonType::setPredefinedType(::Ifc4x3_rc4::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcTendonType::hasNominalDiameter() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcTendonType::NominalDiameter() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcTendonType::setNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcTendonType::hasCrossSectionArea() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcTendonType::CrossSectionArea() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcTendonType::setCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcTendonType::hasSheathDiameter() const { return !data_->getArgument(12)->isNull(); } -double Ifc4x3_rc4::IfcTendonType::SheathDiameter() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcTendonType::setSheathDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendonType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendonType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcTendonType::SheathDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendonType::declaration() const { return *IFC4X3_RC4_IfcTendonType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTendonType::Class() { return *IFC4X3_RC4_IfcTendonType_type; } Ifc4x3_rc4::IfcTendonType::IfcTendonType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTendonType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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); } } +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 (::Ifc4x3_rc4::IfcCartesianPointList3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCartesianPointList3D* Ifc4x3_rc4::IfcTessellatedFaceSet::Coordinates() const { return (::Ifc4x3_rc4::IfcCartesianPointList3D*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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(); } @@ -22740,11 +22468,11 @@ Ifc4x3_rc4::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTessellatedItem_type); } // Function implementations for IfcTextLiteral -std::string Ifc4x3_rc4::IfcTextLiteral::Literal() const { return *data_->getArgument(0); } +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 (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcTextLiteral::Placement() const { return (::Ifc4x3_rc4::IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } 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)); } +::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);} } @@ -22754,9 +22482,9 @@ 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 (::Ifc4x3_rc4::IfcPlanarExtent*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcPlanarExtent* Ifc4x3_rc4::IfcTextLiteralWithExtent::Extent() const { return (::Ifc4x3_rc4::IfcPlanarExtent*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } 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 { return *data_->getArgument(4); } +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);} } @@ -22766,17 +22494,14 @@ 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 -bool Ifc4x3_rc4::IfcTextStyle::hasTextCharacterAppearance() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcTextStyleForDefinedFont* Ifc4x3_rc4::IfcTextStyle::TextCharacterAppearance() const { return (::Ifc4x3_rc4::IfcTextStyleForDefinedFont*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcTextStyleForDefinedFont* Ifc4x3_rc4::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcTextStyleForDefinedFont*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_rc4::IfcTextStyleForDefinedFont* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcTextStyle::hasTextStyle() const { return !data_->getArgument(2)->isNull(); } -::Ifc4x3_rc4::IfcTextStyleTextModel* Ifc4x3_rc4::IfcTextStyle::TextStyle() const { return (::Ifc4x3_rc4::IfcTextStyleTextModel*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +::Ifc4x3_rc4::IfcTextStyleTextModel* Ifc4x3_rc4::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcTextStyleTextModel*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } 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 (::Ifc4x3_rc4::IfcTextFontSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcTextFontSelect* Ifc4x3_rc4::IfcTextStyle::TextFontStyle() const { return (::Ifc4x3_rc4::IfcTextFontSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc4::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcTextStyle::hasModelOrDraughting() const { return !data_->getArgument(4)->isNull(); } -bool Ifc4x3_rc4::IfcTextStyle::ModelOrDraughting() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcTextStyle::setModelOrDraughting(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,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);} } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyle::declaration() const { return *IFC4X3_RC4_IfcTextStyle_type; } @@ -22785,18 +22510,15 @@ Ifc4x3_rc4::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData* e) : IfcPresentati Ifc4x3_rc4::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_rc4::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_rc4::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextStyle_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_TextCharacterAppearance));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TextStyle));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextFontStyle));data_->setArgument(3,attr);} if (v5_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ModelOrDraughting));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTextStyleFontModel::FontFamily() const { return *data_->getArgument(1); } +std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcTextStyleFontModel::hasFontStyle() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcTextStyleFontModel::FontStyle() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcTextStyleFontModel::setFontStyle(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcTextStyleFontModel::hasFontVariant() const { return !data_->getArgument(3)->isNull(); } -std::string Ifc4x3_rc4::IfcTextStyleFontModel::FontVariant() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcTextStyleFontModel::setFontVariant(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcTextStyleFontModel::hasFontWeight() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcTextStyleFontModel::FontWeight() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcTextStyleFontModel::setFontWeight(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 (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } +boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } +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 (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22806,10 +22528,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 (::Ifc4x3_rc4::IfcColour*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::Colour() const { return (::Ifc4x3_rc4::IfcColour*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_rc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcTextStyleForDefinedFont::hasBackgroundColour() const { return !data_->getArgument(1)->isNull(); } -::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::BackgroundColour() const { return (::Ifc4x3_rc4::IfcColour*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } +::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcColour*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void Ifc4x3_rc4::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_rc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22819,26 +22540,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 -bool Ifc4x3_rc4::IfcTextStyleTextModel::hasTextIndent() const { return !data_->getArgument(0)->isNull(); } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::TextIndent() const { return (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcTextStyleTextModel::hasTextAlign() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcTextStyleTextModel::TextAlign() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcTextStyleTextModel::setTextAlign(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcTextStyleTextModel::hasTextDecoration() const { return !data_->getArgument(2)->isNull(); } -std::string Ifc4x3_rc4::IfcTextStyleTextModel::TextDecoration() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcTextStyleTextModel::setTextDecoration(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcTextStyleTextModel::hasLetterSpacing() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LetterSpacing() const { return (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +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 (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcTextStyleTextModel::hasWordSpacing() const { return !data_->getArgument(4)->isNull(); } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::WordSpacing() const { return (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void Ifc4x3_rc4::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcTextStyleTextModel::hasTextTransform() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcTextStyleTextModel::TextTransform() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcTextStyleTextModel::setTextTransform(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcTextStyleTextModel::hasLineHeight() const { return !data_->getArgument(6)->isNull(); } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LineHeight() const { return (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } +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 (::Ifc4x3_rc4::IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -22848,42 +22562,41 @@ Ifc4x3_rc4::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData* Ifc4x3_rc4::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_rc4::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc4::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_rc4::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_rc4::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextStyleTextModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TextIndent));data_->setArgument(0,attr);} if (v2_TextAlign) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TextAlign));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_TextDecoration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TextDecoration));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_LetterSpacing));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_WordSpacing));data_->setArgument(4,attr);} if (v6_TextTransform) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_TextTransform));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_LineHeight));data_->setArgument(6,attr);} } // Function implementations for IfcTextureCoordinate -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Ifc4x3_rc4::IfcTextureCoordinate::Maps() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcSurfaceTexture >(); } -void Ifc4x3_rc4::IfcTextureCoordinate::setMaps(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Ifc4x3_rc4::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcSurfaceTexture >(); } +void Ifc4x3_rc4::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTextureCoordinate::declaration() const { return *IFC4X3_RC4_IfcTextureCoordinate_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTextureCoordinate::Class() { return *IFC4X3_RC4_IfcTextureCoordinate_type; } Ifc4x3_rc4::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTextureCoordinate_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTextureCoordinate::IfcTextureCoordinate(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextureCoordinate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextureCoordinate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x3_rc4::IfcTextureCoordinateGenerator::Mode() const { return *data_->getArgument(1); } +std::string Ifc4x3_rc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcTextureCoordinateGenerator::hasParameter() const { return !data_->getArgument(2)->isNull(); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcTextureCoordinateGenerator::Parameter() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setParameter(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc4::IfcTextureCoordinateGenerator::Parameter() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTextureCoordinateGenerator::declaration() const { return *IFC4X3_RC4_IfcTextureCoordinateGenerator_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTextureCoordinateGenerator::Class() { return *IFC4X3_RC4_IfcTextureCoordinateGenerator_type; } Ifc4x3_rc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData* e) : IfcTextureCoordinate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTextureCoordinateGenerator_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextureCoordinateGenerator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Mode));data_->setArgument(1,attr);} if (v3_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Parameter));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3_rc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextureCoordinateGenerator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Mode));data_->setArgument(1,attr);} if (v3_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Parameter));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcTextureMap -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTextureVertex >::ptr Ifc4x3_rc4::IfcTextureMap::Vertices() const { IfcEntityList::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcTextureVertex >(); } -void Ifc4x3_rc4::IfcTextureMap::setVertices(IfcTemplatedEntityList< ::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 (::Ifc4x3_rc4::IfcFace*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } +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 (::Ifc4x3_rc4::IfcFace*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void Ifc4x3_rc4::IfcTextureMap::setMappedTo(::Ifc4x3_rc4::IfcFace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTextureMap::declaration() const { return *IFC4X3_RC4_IfcTextureMap_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTextureMap::Class() { return *IFC4X3_RC4_IfcTextureMap_type; } Ifc4x3_rc4::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData* e) : IfcTextureCoordinate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTextureMap_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTextureMap::IfcTextureMap(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc4::IfcFace* v3_MappedTo) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Vertices)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MappedTo));data_->setArgument(2,attr);} } +Ifc4x3_rc4::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_rc4::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc4::IfcFace* v3_MappedTo) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Vertices)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MappedTo));data_->setArgument(2,attr);} } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x3_rc4::IfcTextureVertex::Coordinates() const { return *data_->getArgument(0); } +std::vector< double > /*[2:2]*/ Ifc4x3_rc4::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -22893,7 +22606,7 @@ Ifc4x3_rc4::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData* e) : IfcPr Ifc4x3_rc4::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextureVertex_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x3_rc4::IfcTextureVertexList::TexCoordsList() const { return *data_->getArgument(0); } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -22903,28 +22616,25 @@ Ifc4x3_rc4::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextureVertexList_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TexCoordsList));data_->setArgument(0,attr);} } // Function implementations for IfcThirdOrderPolynomialSpiral -double Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::QubicTerm() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setQubicTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::hasQuadraticTerm() const { return !data_->getArgument(2)->isNull(); } -double Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::hasLinearTerm() const { return !data_->getArgument(3)->isNull(); } -double Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::LinearTerm() const { return *data_->getArgument(3); } -void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setLinearTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::hasConstantTerm() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setConstantTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +double Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setCubicTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } +void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::declaration() const { return *IFC4X3_RC4_IfcThirdOrderPolynomialSpiral_type; } const IfcParse::entity& Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::Class() { return *IFC4X3_RC4_IfcThirdOrderPolynomialSpiral_type; } Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(IfcEntityInstanceData* e) : IfcSpiral((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcThirdOrderPolynomialSpiral_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_QubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcThirdOrderPolynomialSpiral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_QubicTerm));data_->setArgument(1,attr);} if (v3_QuadraticTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_QuadraticTerm));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_LinearTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_LinearTerm));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ConstantTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ConstantTerm));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } +Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcThirdOrderPolynomialSpiral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CubicTerm));data_->setArgument(1,attr);} if (v3_QuadraticTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_QuadraticTerm));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_LinearTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_LinearTerm));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ConstantTerm) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ConstantTerm));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcTimePeriod -std::string Ifc4x3_rc4::IfcTimePeriod::StartTime() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcTimePeriod::StartTime() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcTimePeriod::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -std::string Ifc4x3_rc4::IfcTimePeriod::EndTime() const { return *data_->getArgument(1); } +std::string Ifc4x3_rc4::IfcTimePeriod::EndTime() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcTimePeriod::setEndTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22934,24 +22644,21 @@ Ifc4x3_rc4::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc4::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimePeriod_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartTime));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EndTime));data_->setArgument(1,attr);} } // Function implementations for IfcTimeSeries -std::string Ifc4x3_rc4::IfcTimeSeries::Name() const { return *data_->getArgument(0); } +std::string Ifc4x3_rc4::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -bool Ifc4x3_rc4::IfcTimeSeries::hasDescription() const { return !data_->getArgument(1)->isNull(); } -std::string Ifc4x3_rc4::IfcTimeSeries::Description() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcTimeSeries::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -std::string Ifc4x3_rc4::IfcTimeSeries::StartTime() const { return *data_->getArgument(2); } +boost::optional< std::string > Ifc4x3_rc4::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +std::string Ifc4x3_rc4::IfcTimeSeries::StartTime() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcTimeSeries::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -std::string Ifc4x3_rc4::IfcTimeSeries::EndTime() const { return *data_->getArgument(3); } +std::string Ifc4x3_rc4::IfcTimeSeries::EndTime() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcTimeSeries::setEndTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc4::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::FromString(*data_->getArgument(4)); } +::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc4::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::FromString(*data_->getArgument(4)); } void Ifc4x3_rc4::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::ToString(v)));data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcDataOriginEnum::Value Ifc4x3_rc4::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } +::Ifc4x3_rc4::IfcDataOriginEnum::Value Ifc4x3_rc4::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } 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);} } -bool Ifc4x3_rc4::IfcTimeSeries::hasUserDefinedDataOrigin() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcTimeSeries::UserDefinedDataOrigin() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcTimeSeries::setUserDefinedDataOrigin(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcTimeSeries::hasUnit() const { return !data_->getArgument(7)->isNull(); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTimeSeries::Unit() const { return (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } +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 (::Ifc4x3_rc4::IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } 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(); } @@ -22962,14 +22669,14 @@ Ifc4x3_rc4::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc4::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -IfcEntityList::ptr Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeriesValue::declaration() const { return *IFC4X3_RC4_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeriesValue::Class() { return *IFC4X3_RC4_IfcTimeSeriesValue_type; } Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTimeSeriesValue_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityList::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -22985,12 +22692,12 @@ Ifc4x3_rc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() const IfcParse::entity& Ifc4x3_rc4::IfcTopologyRepresentation::declaration() const { return *IFC4X3_RC4_IfcTopologyRepresentation_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTopologyRepresentation::Class() { return *IFC4X3_RC4_IfcTopologyRepresentation_type; } Ifc4x3_rc4::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData* e) : IfcShapeModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTopologyRepresentation_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTopologyRepresentation_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);} } +Ifc4x3_rc4::IfcTopologyRepresentation::IfcTopologyRepresentation(::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) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTopologyRepresentation_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 IfcToroidalSurface -double Ifc4x3_rc4::IfcToroidalSurface::MajorRadius() const { return *data_->getArgument(1); } +double Ifc4x3_rc4::IfcToroidalSurface::MajorRadius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcToroidalSurface::setMajorRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -double Ifc4x3_rc4::IfcToroidalSurface::MinorRadius() const { return *data_->getArgument(2); } +double Ifc4x3_rc4::IfcToroidalSurface::MinorRadius() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcToroidalSurface::setMinorRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -23000,9 +22707,8 @@ Ifc4x3_rc4::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcToroidalSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MajorRadius));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MinorRadius));data_->setArgument(2,attr);} } // Function implementations for IfcTrackElement -bool Ifc4x3_rc4::IfcTrackElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value Ifc4x3_rc4::IfcTrackElement::PredefinedType() const { return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcTrackElement::setPredefinedType(::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTrackElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > Ifc4x3_rc4::IfcTrackElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTrackElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTrackElement::declaration() const { return *IFC4X3_RC4_IfcTrackElement_type; } @@ -23011,19 +22717,18 @@ Ifc4x3_rc4::IfcTrackElement::IfcTrackElement(IfcEntityInstanceData* e) : IfcBuil Ifc4x3_rc4::IfcTrackElement::IfcTrackElement(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::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrackElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTrackElementTypeEnum::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 IfcTrackElementType -::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value Ifc4x3_rc4::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value Ifc4x3_rc4::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTrackElementType::setPredefinedType(::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTrackElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTrackElementType::declaration() const { return *IFC4X3_RC4_IfcTrackElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTrackElementType::Class() { return *IFC4X3_RC4_IfcTrackElementType_type; } Ifc4x3_rc4::IfcTrackElementType::IfcTrackElementType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTrackElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTrackElementType::IfcTrackElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrackElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTrackElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcTrackElementType::IfcTrackElementType(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::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrackElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTrackElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTransformer -bool Ifc4x3_rc4::IfcTransformer::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcTransformerTypeEnum::Value Ifc4x3_rc4::IfcTransformer::PredefinedType() const { return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcTransformer::setPredefinedType(::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTransformerTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > Ifc4x3_rc4::IfcTransformer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTransformerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTransformer::declaration() const { return *IFC4X3_RC4_IfcTransformer_type; } @@ -23032,18 +22737,17 @@ Ifc4x3_rc4::IfcTransformer::IfcTransformer(IfcEntityInstanceData* e) : IfcEnergy Ifc4x3_rc4::IfcTransformer::IfcTransformer(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::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransformer_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTransformerTypeEnum::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 IfcTransformerType -::Ifc4x3_rc4::IfcTransformerTypeEnum::Value Ifc4x3_rc4::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcTransformerTypeEnum::Value Ifc4x3_rc4::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTransformerType::setPredefinedType(::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTransformerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTransformerType::declaration() const { return *IFC4X3_RC4_IfcTransformerType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTransformerType::Class() { return *IFC4X3_RC4_IfcTransformerType_type; } Ifc4x3_rc4::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTransformerType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 -bool Ifc4x3_rc4::IfcTransportElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElement::PredefinedType() const { return (::Ifc4x3_rc4::IfcTransportElementTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcTransportElementTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcTransportElement::setPredefinedType(::Ifc4x3_rc4::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23053,23 +22757,23 @@ 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 (::Ifc4x3_rc4::IfcTransportElementTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } +::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElementType::PredefinedType() const { return (::Ifc4x3_rc4::IfcTransportElementTypeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void Ifc4x3_rc4::IfcTransportElementType::setPredefinedType(::Ifc4x3_rc4::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTransportElementType::declaration() const { return *IFC4X3_RC4_IfcTransportElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTransportElementType::Class() { return *IFC4X3_RC4_IfcTransportElementType_type; } Ifc4x3_rc4::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTransportElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTransportElementType::IfcTransportElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransportElementTypeSelect* v10_PredefinedType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransportElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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);} } +Ifc4x3_rc4::IfcTransportElementType::IfcTransportElementType(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::IfcTransportElementTypeSelect* v10_PredefinedType) : IfcElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransportElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcTrapeziumProfileDef -double Ifc4x3_rc4::IfcTrapeziumProfileDef::BottomXDim() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcTrapeziumProfileDef::BottomXDim() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcTrapeziumProfileDef::setBottomXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcTrapeziumProfileDef::TopXDim() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcTrapeziumProfileDef::TopXDim() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcTrapeziumProfileDef::setTopXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcTrapeziumProfileDef::YDim() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcTrapeziumProfileDef::YDim() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcTrapeziumProfileDef::setYDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcTrapeziumProfileDef::TopXOffset() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcTrapeziumProfileDef::TopXOffset() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcTrapeziumProfileDef::setTopXOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -23079,17 +22783,14 @@ Ifc4x3_rc4::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData Ifc4x3_rc4::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrapeziumProfileDef_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_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 IfcTriangulatedFaceSet -bool Ifc4x3_rc4::IfcTriangulatedFaceSet::hasNormals() const { return !data_->getArgument(1)->isNull(); } -std::vector< std::vector< double > > Ifc4x3_rc4::IfcTriangulatedFaceSet::Normals() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcTriangulatedFaceSet::setNormals(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -bool Ifc4x3_rc4::IfcTriangulatedFaceSet::hasClosed() const { return !data_->getArgument(2)->isNull(); } -bool Ifc4x3_rc4::IfcTriangulatedFaceSet::Closed() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcTriangulatedFaceSet::setClosed(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -std::vector< std::vector< int > > Ifc4x3_rc4::IfcTriangulatedFaceSet::CoordIndex() const { return *data_->getArgument(3); } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcTriangulatedFaceSet::Normals() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(1); return v; } +void Ifc4x3_rc4::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +boost::optional< bool > Ifc4x3_rc4::IfcTriangulatedFaceSet::Closed() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +std::vector< std::vector< int > > Ifc4x3_rc4::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcTriangulatedFaceSet::hasPnIndex() const { return !data_->getArgument(4)->isNull(); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcTriangulatedFaceSet::PnIndex() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcTriangulatedFaceSet::setPnIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcTriangulatedFaceSet::PnIndex() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTriangulatedFaceSet::declaration() const { return *IFC4X3_RC4_IfcTriangulatedFaceSet_type; } @@ -23098,7 +22799,7 @@ Ifc4x3_rc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData Ifc4x3_rc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::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) : IfcTessellatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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 IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::Flags() const { return *data_->getArgument(5); } +std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -23108,27 +22809,26 @@ 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 (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcTrimmedCurve::BasisCurve() const { return (::Ifc4x3_rc4::IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcEntityList::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { return *data_->getArgument(1); } -void Ifc4x3_rc4::IfcTrimmedCurve::setTrim1(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcEntityList::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { return *data_->getArgument(2); } -void Ifc4x3_rc4::IfcTrimmedCurve::setTrim2(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -bool Ifc4x3_rc4::IfcTrimmedCurve::SenseAgreement() const { return *data_->getArgument(3); } +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);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } +void Ifc4x3_rc4::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +bool Ifc4x3_rc4::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcTrimmingPreference::Value Ifc4x3_rc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } +::Ifc4x3_rc4::IfcTrimmingPreference::Value Ifc4x3_rc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } void Ifc4x3_rc4::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc4::IfcTrimmingPreference::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTrimmingPreference::ToString(v)));data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTrimmedCurve::declaration() const { return *IFC4X3_RC4_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTrimmedCurve::Class() { return *IFC4X3_RC4_IfcTrimmedCurve_type; } Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTrimmedCurve_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, IfcEntityList::ptr v2_Trim1, IfcEntityList::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3_rc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle -bool Ifc4x3_rc4::IfcTubeBundle::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value Ifc4x3_rc4::IfcTubeBundle::PredefinedType() const { return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcTubeBundle::setPredefinedType(::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTubeBundleTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc4::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTubeBundleTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTubeBundle::declaration() const { return *IFC4X3_RC4_IfcTubeBundle_type; } @@ -23137,99 +22837,86 @@ Ifc4x3_rc4::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData* e) : IfcEnergyCo Ifc4x3_rc4::IfcTubeBundle::IfcTubeBundle(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::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTubeBundle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcTubeBundleTypeEnum::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 IfcTubeBundleType -::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value Ifc4x3_rc4::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value Ifc4x3_rc4::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTubeBundleType::setPredefinedType(::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTubeBundleTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTubeBundleType::declaration() const { return *IFC4X3_RC4_IfcTubeBundleType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTubeBundleType::Class() { return *IFC4X3_RC4_IfcTubeBundleType_type; } Ifc4x3_rc4::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTubeBundleType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTubeBundleType::IfcTubeBundleType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcTubeBundleTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcTubeBundleType::IfcTubeBundleType(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::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_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,::Ifc4x3_rc4::IfcTubeBundleTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTypeObject -bool Ifc4x3_rc4::IfcTypeObject::hasApplicableOccurrence() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcTypeObject::ApplicableOccurrence() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcTypeObject::setApplicableOccurrence(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcTypeObject::hasHasPropertySets() const { return !data_->getArgument(5)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr Ifc4x3_rc4::IfcTypeObject::HasPropertySets() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } -void Ifc4x3_rc4::IfcTypeObject::setHasPropertySets(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > Ifc4x3_rc4::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } +void Ifc4x3_rc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelDefinesByType::list::ptr Ifc4x3_rc4::IfcTypeObject::Types() const { return data_->getInverse(IFC4X3_RC4_IfcRelDefinesByType_type, 5)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeObject::declaration() const { return *IFC4X3_RC4_IfcTypeObject_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTypeObject::Class() { return *IFC4X3_RC4_IfcTypeObject_type; } Ifc4x3_rc4::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData* e) : IfcObjectDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTypeObject_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTypeObject::IfcTypeObject(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTypeObject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcTypeObject::IfcTypeObject(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) : IfcObjectDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTypeObject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } // Function implementations for IfcTypeProcess -bool Ifc4x3_rc4::IfcTypeProcess::hasIdentification() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcTypeProcess::Identification() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcTypeProcess::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcTypeProcess::hasLongDescription() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcTypeProcess::LongDescription() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcTypeProcess::setLongDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcTypeProcess::hasProcessType() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcTypeProcess::ProcessType() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcTypeProcess::setProcessType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::ProcessType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToProcess::list::ptr Ifc4x3_rc4::IfcTypeProcess::OperatesOn() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToProcess_type, 6)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeProcess::declaration() const { return *IFC4X3_RC4_IfcTypeProcess_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTypeProcess::Class() { return *IFC4X3_RC4_IfcTypeProcess_type; } Ifc4x3_rc4::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData* e) : IfcTypeObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTypeProcess_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTypeProcess::IfcTypeProcess(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTypeProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } +Ifc4x3_rc4::IfcTypeProcess::IfcTypeProcess(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_ProcessType) : IfcTypeObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTypeProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcTypeProduct -bool Ifc4x3_rc4::IfcTypeProduct::hasRepresentationMaps() const { return !data_->getArgument(6)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr Ifc4x3_rc4::IfcTypeProduct::RepresentationMaps() const { IfcEntityList::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcRepresentationMap >(); } -void Ifc4x3_rc4::IfcTypeProduct::setRepresentationMaps(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcTypeProduct::hasTag() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcTypeProduct::Tag() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcTypeProduct::setTag(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > Ifc4x3_rc4::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcRepresentationMap >(); } +void Ifc4x3_rc4::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc4::IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToProduct_type, 6)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeProduct::declaration() const { return *IFC4X3_RC4_IfcTypeProduct_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTypeProduct::Class() { return *IFC4X3_RC4_IfcTypeProduct_type; } Ifc4x3_rc4::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData* e) : IfcTypeObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTypeProduct_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTypeProduct::IfcTypeProduct(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTypeProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcTypeProduct::IfcTypeProduct(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) : IfcTypeObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTypeProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } // Function implementations for IfcTypeResource -bool Ifc4x3_rc4::IfcTypeResource::hasIdentification() const { return !data_->getArgument(6)->isNull(); } -std::string Ifc4x3_rc4::IfcTypeResource::Identification() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcTypeResource::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcTypeResource::hasLongDescription() const { return !data_->getArgument(7)->isNull(); } -std::string Ifc4x3_rc4::IfcTypeResource::LongDescription() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcTypeResource::setLongDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcTypeResource::hasResourceType() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcTypeResource::ResourceType() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcTypeResource::setResourceType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::ResourceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToResource::list::ptr Ifc4x3_rc4::IfcTypeResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToResource_type, 6)->as(); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeResource::declaration() const { return *IFC4X3_RC4_IfcTypeResource_type; } const IfcParse::entity& Ifc4x3_rc4::IfcTypeResource::Class() { return *IFC4X3_RC4_IfcTypeResource_type; } Ifc4x3_rc4::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData* e) : IfcTypeObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcTypeResource_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcTypeResource::IfcTypeResource(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTypeResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcTypeResource::IfcTypeResource(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) : IfcTypeObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTypeResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } // Function implementations for IfcUShapeProfileDef -double Ifc4x3_rc4::IfcUShapeProfileDef::Depth() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcUShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeWidth() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeWidth() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcUShapeProfileDef::WebThickness() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcUShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeThickness() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcUShapeProfileDef::hasFilletRadius() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcUShapeProfileDef::FilletRadius() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcUShapeProfileDef::setFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcUShapeProfileDef::hasEdgeRadius() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcUShapeProfileDef::EdgeRadius() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcUShapeProfileDef::setEdgeRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcUShapeProfileDef::hasFlangeSlope() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeSlope() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeSlope(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcUShapeProfileDef_type; } @@ -23238,19 +22925,18 @@ Ifc4x3_rc4::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUShapeProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -IfcEntityList::ptr Ifc4x3_rc4::IfcUnitAssignment::Units() const { return *data_->getArgument(0); } -void Ifc4x3_rc4::IfcUnitAssignment::setUnits(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of_instance::ptr Ifc4x3_rc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } +void Ifc4x3_rc4::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitAssignment::declaration() const { return *IFC4X3_RC4_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3_rc4::IfcUnitAssignment::Class() { return *IFC4X3_RC4_IfcUnitAssignment_type; } Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcUnitAssignment_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(IfcEntityList::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement -bool Ifc4x3_rc4::IfcUnitaryControlElement::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc4::IfcUnitaryControlElement::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcUnitaryControlElement::setPredefinedType(::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryControlElement::declaration() const { return *IFC4X3_RC4_IfcUnitaryControlElement_type; } @@ -23259,19 +22945,18 @@ Ifc4x3_rc4::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstance Ifc4x3_rc4::IfcUnitaryControlElement::IfcUnitaryControlElement(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::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryControlElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcUnitaryControlElementTypeEnum::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 IfcUnitaryControlElementType -::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc4::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc4::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryControlElementType::declaration() const { return *IFC4X3_RC4_IfcUnitaryControlElementType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryControlElementType::Class() { return *IFC4X3_RC4_IfcUnitaryControlElementType_type; } Ifc4x3_rc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcUnitaryControlElementType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryControlElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcUnitaryControlElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(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::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryControlElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcUnitaryControlElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcUnitaryEquipment -bool Ifc4x3_rc4::IfcUnitaryEquipment::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc4::IfcUnitaryEquipment::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcUnitaryEquipment::setPredefinedType(::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryEquipment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryEquipment::declaration() const { return *IFC4X3_RC4_IfcUnitaryEquipment_type; } @@ -23280,19 +22965,18 @@ Ifc4x3_rc4::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcUnitaryEquipment::IfcUnitaryEquipment(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::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryEquipment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcUnitaryEquipmentTypeEnum::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 IfcUnitaryEquipmentType -::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc4::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc4::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryEquipmentType::declaration() const { return *IFC4X3_RC4_IfcUnitaryEquipmentType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryEquipmentType::Class() { return *IFC4X3_RC4_IfcUnitaryEquipmentType_type; } Ifc4x3_rc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcUnitaryEquipmentType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryEquipmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(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::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcUnitaryEquipmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcValve -bool Ifc4x3_rc4::IfcValve::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcValveTypeEnum::Value Ifc4x3_rc4::IfcValve::PredefinedType() const { return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcValve::setPredefinedType(::Ifc4x3_rc4::IfcValveTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcValveTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > Ifc4x3_rc4::IfcValve::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcValveTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcValve::declaration() const { return *IFC4X3_RC4_IfcValve_type; } @@ -23301,19 +22985,19 @@ Ifc4x3_rc4::IfcValve::IfcValve(IfcEntityInstanceData* e) : IfcFlowController((If Ifc4x3_rc4::IfcValve::IfcValve(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::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcValve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcValveTypeEnum::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 IfcValveType -::Ifc4x3_rc4::IfcValveTypeEnum::Value Ifc4x3_rc4::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcValveTypeEnum::Value Ifc4x3_rc4::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcValveType::setPredefinedType(::Ifc4x3_rc4::IfcValveTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcValveTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcValveType::declaration() const { return *IFC4X3_RC4_IfcValveType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcValveType::Class() { return *IFC4X3_RC4_IfcValveType_type; } Ifc4x3_rc4::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcValveType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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);} } +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 (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcVector::Orientation() const { return (::Ifc4x3_rc4::IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } 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 { return *data_->getArgument(1); } +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);} } @@ -23331,7 +23015,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 (::Ifc4x3_rc4::IfcVertex*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcVertexLoop::LoopVertex() const { return (::Ifc4x3_rc4::IfcVertex*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcVertexLoop::setLoopVertex(::Ifc4x3_rc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -23341,7 +23025,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 (::Ifc4x3_rc4::IfcPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } +::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcVertexPoint::VertexGeometry() const { return (::Ifc4x3_rc4::IfcPoint*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(0))); } void Ifc4x3_rc4::IfcVertexPoint::setVertexGeometry(::Ifc4x3_rc4::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -23351,9 +23035,8 @@ Ifc4x3_rc4::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData* e) : IfcVertex Ifc4x3_rc4::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc4::IfcPoint* v1_VertexGeometry) : IfcVertex((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVertexPoint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_VertexGeometry));data_->setArgument(0,attr);} } // Function implementations for IfcVibrationDamper -bool Ifc4x3_rc4::IfcVibrationDamper::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value Ifc4x3_rc4::IfcVibrationDamper::PredefinedType() const { return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcVibrationDamper::setPredefinedType(::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationDamper::declaration() const { return *IFC4X3_RC4_IfcVibrationDamper_type; } @@ -23362,20 +23045,18 @@ Ifc4x3_rc4::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcVibrationDamper::IfcVibrationDamper(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::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationDamper_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcVibrationDamperTypeEnum::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 IfcVibrationDamperType -bool Ifc4x3_rc4::IfcVibrationDamperType::hasPredefinedType() const { return !data_->getArgument(9)->isNull(); } -::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value Ifc4x3_rc4::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcVibrationDamperType::setPredefinedType(::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(v)));data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamperType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(9)); } +void Ifc4x3_rc4::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationDamperType::declaration() const { return *IFC4X3_RC4_IfcVibrationDamperType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationDamperType::Class() { return *IFC4X3_RC4_IfcVibrationDamperType_type; } Ifc4x3_rc4::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcVibrationDamperType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcVibrationDamperType::IfcVibrationDamperType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationDamperType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } +Ifc4x3_rc4::IfcVibrationDamperType::IfcVibrationDamperType(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, boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationDamperType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcVibrationIsolator -bool Ifc4x3_rc4::IfcVibrationIsolator::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc4::IfcVibrationIsolator::PredefinedType() const { return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcVibrationIsolator::setPredefinedType(::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc4::IfcVibrationIsolator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationIsolator::declaration() const { return *IFC4X3_RC4_IfcVibrationIsolator_type; } @@ -23384,14 +23065,14 @@ Ifc4x3_rc4::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcVibrationIsolator::IfcVibrationIsolator(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::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationIsolator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcVibrationIsolatorTypeEnum::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 IfcVibrationIsolatorType -::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc4::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc4::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationIsolatorType::declaration() const { return *IFC4X3_RC4_IfcVibrationIsolatorType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationIsolatorType::Class() { return *IFC4X3_RC4_IfcVibrationIsolatorType_type; } Ifc4x3_rc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcVibrationIsolatorType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationIsolatorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(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::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVibrationIsolatorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVirtualElement @@ -23402,16 +23083,16 @@ Ifc4x3_rc4::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcVirtualElement::IfcVirtualElement(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) : IfcElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVirtualElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcVirtualGridIntersection -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcVirtualGridIntersection::IntersectingAxes() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } -void Ifc4x3_rc4::IfcVirtualGridIntersection::setIntersectingAxes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } -std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcVirtualGridIntersection::OffsetDistances() const { return *data_->getArgument(1); } +aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } +void Ifc4x3_rc4::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } +std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVirtualGridIntersection::declaration() const { return *IFC4X3_RC4_IfcVirtualGridIntersection_type; } const IfcParse::entity& Ifc4x3_rc4::IfcVirtualGridIntersection::Class() { return *IFC4X3_RC4_IfcVirtualGridIntersection_type; } Ifc4x3_rc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_RC4_IfcVirtualGridIntersection_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVirtualGridIntersection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_IntersectingAxes)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OffsetDistances));data_->setArgument(1,attr);} } +Ifc4x3_rc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVirtualGridIntersection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_IntersectingAxes)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OffsetDistances));data_->setArgument(1,attr);} } // Function implementations for IfcVoidStratum @@ -23422,9 +23103,8 @@ Ifc4x3_rc4::IfcVoidStratum::IfcVoidStratum(IfcEntityInstanceData* e) : IfcGeotec Ifc4x3_rc4::IfcVoidStratum::IfcVoidStratum(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) : IfcGeotechnicalStratum((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVoidStratum_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcVoidingFeature -bool Ifc4x3_rc4::IfcVoidingFeature::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value Ifc4x3_rc4::IfcVoidingFeature::PredefinedType() const { return ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcVoidingFeature::setPredefinedType(::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc4::IfcVoidingFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVoidingFeature::declaration() const { return *IFC4X3_RC4_IfcVoidingFeature_type; } @@ -23433,9 +23113,8 @@ Ifc4x3_rc4::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcVoidingFeature::IfcVoidingFeature(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::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVoidingFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcVoidingFeatureTypeEnum::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 IfcWall -bool Ifc4x3_rc4::IfcWall::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcWallTypeEnum::Value Ifc4x3_rc4::IfcWall::PredefinedType() const { return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcWall::setPredefinedType(::Ifc4x3_rc4::IfcWallTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWallTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > Ifc4x3_rc4::IfcWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWall::declaration() const { return *IFC4X3_RC4_IfcWall_type; } @@ -23460,19 +23139,18 @@ Ifc4x3_rc4::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcWallStandardCase::IfcWallStandardCase(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::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWallStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWallTypeEnum::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 IfcWallType -::Ifc4x3_rc4::IfcWallTypeEnum::Value Ifc4x3_rc4::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcWallTypeEnum::Value Ifc4x3_rc4::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcWallType::setPredefinedType(::Ifc4x3_rc4::IfcWallTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWallTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWallType::declaration() const { return *IFC4X3_RC4_IfcWallType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcWallType::Class() { return *IFC4X3_RC4_IfcWallType_type; } Ifc4x3_rc4::IfcWallType::IfcWallType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcWallType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcWallType::IfcWallType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWallType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWallTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcWallType::IfcWallType(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::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWallType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWallTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcWasteTerminal -bool Ifc4x3_rc4::IfcWasteTerminal::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc4::IfcWasteTerminal::PredefinedType() const { return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcWasteTerminal::setPredefinedType(::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc4::IfcWasteTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWasteTerminal::declaration() const { return *IFC4X3_RC4_IfcWasteTerminal_type; } @@ -23481,14 +23159,14 @@ Ifc4x3_rc4::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData* e) : IfcFl Ifc4x3_rc4::IfcWasteTerminal::IfcWasteTerminal(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::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWasteTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWasteTerminalTypeEnum::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 IfcWasteTerminalType -::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc4::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc4::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcWasteTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWasteTerminalType::declaration() const { return *IFC4X3_RC4_IfcWasteTerminalType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcWasteTerminalType::Class() { return *IFC4X3_RC4_IfcWasteTerminalType_type; } Ifc4x3_rc4::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcWasteTerminalType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcWasteTerminalType::IfcWasteTerminalType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWasteTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } +Ifc4x3_rc4::IfcWasteTerminalType::IfcWasteTerminalType(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::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWasteTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcWaterStratum @@ -23499,21 +23177,16 @@ Ifc4x3_rc4::IfcWaterStratum::IfcWaterStratum(IfcEntityInstanceData* e) : IfcGeot Ifc4x3_rc4::IfcWaterStratum::IfcWaterStratum(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) : IfcGeotechnicalStratum((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWaterStratum_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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 IfcWindow -bool Ifc4x3_rc4::IfcWindow::hasOverallHeight() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcWindow::OverallHeight() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcWindow::setOverallHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcWindow::hasOverallWidth() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcWindow::OverallWidth() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcWindow::setOverallWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcWindow::hasPredefinedType() const { return !data_->getArgument(10)->isNull(); } -::Ifc4x3_rc4::IfcWindowTypeEnum::Value Ifc4x3_rc4::IfcWindow::PredefinedType() const { return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcWindow::setPredefinedType(::Ifc4x3_rc4::IfcWindowTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowTypeEnum::ToString(v)));data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcWindow::hasPartitioningType() const { return !data_->getArgument(11)->isNull(); } -::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc4::IfcWindow::PartitioningType() const { return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc4::IfcWindow::setPartitioningType(::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcWindow::hasUserDefinedPartitioningType() const { return !data_->getArgument(12)->isNull(); } -std::string Ifc4x3_rc4::IfcWindow::UserDefinedPartitioningType() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcWindow::setUserDefinedPartitioningType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > Ifc4x3_rc4::IfcWindow::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } +void Ifc4x3_rc4::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWindowTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc4::IfcWindow::PartitioningType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } +void Ifc4x3_rc4::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(*v)));data_->setArgument(11,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcWindow::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindow::declaration() const { return *IFC4X3_RC4_IfcWindow_type; } @@ -23522,42 +23195,30 @@ Ifc4x3_rc4::IfcWindow::IfcWindow(IfcEntityInstanceData* e) : IfcBuiltElement((If Ifc4x3_rc4::IfcWindow::IfcWindow(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< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindow_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_OverallHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_OverallHeight));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_OverallWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_OverallWidth));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcWindowTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_PartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_PartitioningType,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedPartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedPartitioningType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcWindowLiningProperties -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasLiningDepth() const { return !data_->getArgument(4)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::LiningDepth() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasLiningThickness() const { return !data_->getArgument(5)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::LiningThickness() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasTransomThickness() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::TransomThickness() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setTransomThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasMullionThickness() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::MullionThickness() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setMullionThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasFirstTransomOffset() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::FirstTransomOffset() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstTransomOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasSecondTransomOffset() const { return !data_->getArgument(9)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::SecondTransomOffset() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondTransomOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasFirstMullionOffset() const { return !data_->getArgument(10)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::FirstMullionOffset() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstMullionOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasSecondMullionOffset() const { return !data_->getArgument(11)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::SecondMullionOffset() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondMullionOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasShapeAspectStyle() const { return !data_->getArgument(12)->isNull(); } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowLiningProperties::ShapeAspectStyle() const { return (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(12))); } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } +void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +void Ifc4x3_rc4::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } +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 (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(12))); } void Ifc4x3_rc4::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasLiningOffset() const { return !data_->getArgument(13)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::LiningOffset() const { return *data_->getArgument(13); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasLiningToPanelOffsetX() const { return !data_->getArgument(14)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetX() const { return *data_->getArgument(14); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -bool Ifc4x3_rc4::IfcWindowLiningProperties::hasLiningToPanelOffsetY() const { return !data_->getArgument(15)->isNull(); } -double Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetY() const { return *data_->getArgument(15); } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,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);} } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } +void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } +void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindowLiningProperties::declaration() const { return *IFC4X3_RC4_IfcWindowLiningProperties_type; } @@ -23566,18 +23227,15 @@ Ifc4x3_rc4::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstan Ifc4x3_rc4::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc4::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowLiningProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LiningDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LiningDepth));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LiningThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LiningThickness));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_TransomThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_TransomThickness));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_MullionThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_MullionThickness));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_FirstTransomOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_FirstTransomOffset));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_SecondTransomOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_SecondTransomOffset));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_FirstMullionOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_FirstMullionOffset));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_SecondMullionOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_SecondMullionOffset));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_ShapeAspectStyle));data_->setArgument(12,attr);} if (v14_LiningOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_LiningOffset));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LiningToPanelOffsetX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LiningToPanelOffsetX));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_LiningToPanelOffsetY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_LiningToPanelOffsetY));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcWindowPanelProperties -::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::FromString(*data_->getArgument(4)); } +::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::FromString(*data_->getArgument(4)); } void Ifc4x3_rc4::IfcWindowPanelProperties::setOperationType(::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowPanelOperationEnum::ToString(v)));data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } +::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } -bool Ifc4x3_rc4::IfcWindowPanelProperties::hasFrameDepth() const { return !data_->getArgument(6)->isNull(); } -double Ifc4x3_rc4::IfcWindowPanelProperties::FrameDepth() const { return *data_->getArgument(6); } -void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcWindowPanelProperties::hasFrameThickness() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcWindowPanelProperties::FrameThickness() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcWindowPanelProperties::hasShapeAspectStyle() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowPanelProperties::ShapeAspectStyle() const { return (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } +boost::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } +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 (::Ifc4x3_rc4::IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void Ifc4x3_rc4::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23595,115 +23253,100 @@ Ifc4x3_rc4::IfcWindowStandardCase::IfcWindowStandardCase(IfcEntityInstanceData* Ifc4x3_rc4::IfcWindowStandardCase::IfcWindowStandardCase(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< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_OverallHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_OverallHeight));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_OverallWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_OverallWidth));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4x3_rc4::IfcWindowTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_PartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_PartitioningType,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedPartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedPartitioningType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcWindowStyle -::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc4::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::FromString(*data_->getArgument(8)); } +::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc4::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcWindowStyle::setConstructionType(::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value Ifc4x3_rc4::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value Ifc4x3_rc4::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcWindowStyle::setOperationType(::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowStyleOperationEnum::ToString(v)));data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcWindowStyle::ParameterTakesPrecedence() const { return *data_->getArgument(10); } +bool Ifc4x3_rc4::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = *data_->getArgument(10); return v; } void Ifc4x3_rc4::IfcWindowStyle::setParameterTakesPrecedence(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcWindowStyle::Sizeable() const { return *data_->getArgument(11); } +bool Ifc4x3_rc4::IfcWindowStyle::Sizeable() const { bool v = *data_->getArgument(11); return v; } void Ifc4x3_rc4::IfcWindowStyle::setSizeable(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindowStyle::declaration() const { return *IFC4X3_RC4_IfcWindowStyle_type; } const IfcParse::entity& Ifc4x3_rc4::IfcWindowStyle::Class() { return *IFC4X3_RC4_IfcWindowStyle_type; } Ifc4x3_rc4::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData* e) : IfcTypeProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcWindowStyle_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcWindowStyle::IfcWindowStyle(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ConstructionType,::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_OperationType,::Ifc4x3_rc4::IfcWindowStyleOperationEnum::ToString(v10_OperationType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ParameterTakesPrecedence));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_Sizeable));data_->setArgument(11,attr);} } +Ifc4x3_rc4::IfcWindowStyle::IfcWindowStyle(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, ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ConstructionType,::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_OperationType,::Ifc4x3_rc4::IfcWindowStyleOperationEnum::ToString(v10_OperationType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ParameterTakesPrecedence));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_Sizeable));data_->setArgument(11,attr);} } // Function implementations for IfcWindowType -::Ifc4x3_rc4::IfcWindowTypeEnum::Value Ifc4x3_rc4::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(*data_->getArgument(9)); } +::Ifc4x3_rc4::IfcWindowTypeEnum::Value Ifc4x3_rc4::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcWindowType::setPredefinedType(::Ifc4x3_rc4::IfcWindowTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowTypeEnum::ToString(v)));data_->setArgument(9,attr);} } -::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc4::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } +::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc4::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc4::IfcWindowType::setPartitioningType(::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(10,attr);} } -bool Ifc4x3_rc4::IfcWindowType::hasParameterTakesPrecedence() const { return !data_->getArgument(11)->isNull(); } -bool Ifc4x3_rc4::IfcWindowType::ParameterTakesPrecedence() const { return *data_->getArgument(11); } -void Ifc4x3_rc4::IfcWindowType::setParameterTakesPrecedence(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcWindowType::hasUserDefinedPartitioningType() const { return !data_->getArgument(12)->isNull(); } -std::string Ifc4x3_rc4::IfcWindowType::UserDefinedPartitioningType() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcWindowType::setUserDefinedPartitioningType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } +boost::optional< bool > Ifc4x3_rc4::IfcWindowType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } +void Ifc4x3_rc4::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcWindowType::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindowType::declaration() const { return *IFC4X3_RC4_IfcWindowType_type; } const IfcParse::entity& Ifc4x3_rc4::IfcWindowType::Class() { return *IFC4X3_RC4_IfcWindowType_type; } Ifc4x3_rc4::IfcWindowType::IfcWindowType(IfcEntityInstanceData* e) : IfcBuiltElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcWindowType_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcWindowType::IfcWindowType(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWindowTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_PartitioningType,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(v11_PartitioningType))));data_->setArgument(10,attr);} if (v12_ParameterTakesPrecedence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ParameterTakesPrecedence));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedPartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedPartitioningType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } +Ifc4x3_rc4::IfcWindowType::IfcWindowType(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::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWindowType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWindowTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_PartitioningType,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(v11_PartitioningType))));data_->setArgument(10,attr);} if (v12_ParameterTakesPrecedence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ParameterTakesPrecedence));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedPartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedPartitioningType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcWorkCalendar -bool Ifc4x3_rc4::IfcWorkCalendar::hasWorkingTimes() const { return !data_->getArgument(6)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr Ifc4x3_rc4::IfcWorkCalendar::WorkingTimes() const { IfcEntityList::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcWorkTime >(); } -void Ifc4x3_rc4::IfcWorkCalendar::setWorkingTimes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcWorkCalendar::hasExceptionTimes() const { return !data_->getArgument(7)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr Ifc4x3_rc4::IfcWorkCalendar::ExceptionTimes() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcWorkTime >(); } -void Ifc4x3_rc4::IfcWorkCalendar::setExceptionTimes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcWorkCalendar::hasPredefinedType() const { return !data_->getArgument(8)->isNull(); } -::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value Ifc4x3_rc4::IfcWorkCalendar::PredefinedType() const { return ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcWorkCalendar::setPredefinedType(::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::ToString(v)));data_->setArgument(8,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > Ifc4x3_rc4::IfcWorkCalendar::WorkingTimes() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcWorkTime >(); } +void Ifc4x3_rc4::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > Ifc4x3_rc4::IfcWorkCalendar::ExceptionTimes() 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::IfcWorkTime >(); } +void Ifc4x3_rc4::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc4::IfcWorkCalendar::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } +void Ifc4x3_rc4::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkCalendar::declaration() const { return *IFC4X3_RC4_IfcWorkCalendar_type; } const IfcParse::entity& Ifc4x3_rc4::IfcWorkCalendar::Class() { return *IFC4X3_RC4_IfcWorkCalendar_type; } Ifc4x3_rc4::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcWorkCalendar_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcWorkCalendar::IfcWorkCalendar(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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkCalendar_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_WorkingTimes) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_WorkingTimes)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ExceptionTimes) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ExceptionTimes)->generalize());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::IfcWorkCalendarTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } +Ifc4x3_rc4::IfcWorkCalendar::IfcWorkCalendar(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< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkCalendar_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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_WorkingTimes) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_WorkingTimes)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ExceptionTimes) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ExceptionTimes)->generalize());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::IfcWorkCalendarTypeEnum::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 IfcWorkControl -std::string Ifc4x3_rc4::IfcWorkControl::CreationDate() const { return *data_->getArgument(6); } +std::string Ifc4x3_rc4::IfcWorkControl::CreationDate() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcWorkControl::setCreationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcWorkControl::hasCreators() const { return !data_->getArgument(7)->isNull(); } -IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr Ifc4x3_rc4::IfcWorkControl::Creators() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcPerson >(); } -void Ifc4x3_rc4::IfcWorkControl::setCreators(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcWorkControl::hasPurpose() const { return !data_->getArgument(8)->isNull(); } -std::string Ifc4x3_rc4::IfcWorkControl::Purpose() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcWorkControl::setPurpose(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -bool Ifc4x3_rc4::IfcWorkControl::hasDuration() const { return !data_->getArgument(9)->isNull(); } -std::string Ifc4x3_rc4::IfcWorkControl::Duration() const { return *data_->getArgument(9); } -void Ifc4x3_rc4::IfcWorkControl::setDuration(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -bool Ifc4x3_rc4::IfcWorkControl::hasTotalFloat() const { return !data_->getArgument(10)->isNull(); } -std::string Ifc4x3_rc4::IfcWorkControl::TotalFloat() const { return *data_->getArgument(10); } -void Ifc4x3_rc4::IfcWorkControl::setTotalFloat(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -std::string Ifc4x3_rc4::IfcWorkControl::StartTime() const { return *data_->getArgument(11); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > Ifc4x3_rc4::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< ::Ifc4x3_rc4::IfcPerson >(); } +void Ifc4x3_rc4::IfcWorkControl::setCreators(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::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } +void Ifc4x3_rc4::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } +void Ifc4x3_rc4::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +std::string Ifc4x3_rc4::IfcWorkControl::StartTime() const { std::string v = *data_->getArgument(11); return v; } void Ifc4x3_rc4::IfcWorkControl::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -bool Ifc4x3_rc4::IfcWorkControl::hasFinishTime() const { return !data_->getArgument(12)->isNull(); } -std::string Ifc4x3_rc4::IfcWorkControl::FinishTime() const { return *data_->getArgument(12); } -void Ifc4x3_rc4::IfcWorkControl::setFinishTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } +void Ifc4x3_rc4::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkControl::declaration() const { return *IFC4X3_RC4_IfcWorkControl_type; } const IfcParse::entity& Ifc4x3_rc4::IfcWorkControl::Class() { return *IFC4X3_RC4_IfcWorkControl_type; } Ifc4x3_rc4::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcWorkControl_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcWorkControl::IfcWorkControl(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< IfcTemplatedEntityList< ::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) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } +Ifc4x3_rc4::IfcWorkControl::IfcWorkControl(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) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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); } } // Function implementations for IfcWorkPlan -bool Ifc4x3_rc4::IfcWorkPlan::hasPredefinedType() const { return !data_->getArgument(13)->isNull(); } -::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value Ifc4x3_rc4::IfcWorkPlan::PredefinedType() const { return ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc4::IfcWorkPlan::setPredefinedType(::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWorkPlanTypeEnum::ToString(v)));data_->setArgument(13,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc4::IfcWorkPlan::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } +void Ifc4x3_rc4::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWorkPlanTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkPlan::declaration() const { return *IFC4X3_RC4_IfcWorkPlan_type; } const IfcParse::entity& Ifc4x3_rc4::IfcWorkPlan::Class() { return *IFC4X3_RC4_IfcWorkPlan_type; } Ifc4x3_rc4::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData* e) : IfcWorkControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcWorkPlan_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -Ifc4x3_rc4::IfcWorkPlan::IfcWorkPlan(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< IfcTemplatedEntityList< ::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::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkPlan_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWorkPlanTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } +Ifc4x3_rc4::IfcWorkPlan::IfcWorkPlan(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::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkPlan_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->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::IfcWorkPlanTypeEnum::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 IfcWorkSchedule -bool Ifc4x3_rc4::IfcWorkSchedule::hasPredefinedType() const { return !data_->getArgument(13)->isNull(); } -::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value Ifc4x3_rc4::IfcWorkSchedule::PredefinedType() const { return ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc4::IfcWorkSchedule::setPredefinedType(::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::ToString(v)));data_->setArgument(13,attr);} } +boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc4::IfcWorkSchedule::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } +void Ifc4x3_rc4::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkSchedule::declaration() const { return *IFC4X3_RC4_IfcWorkSchedule_type; } const IfcParse::entity& Ifc4x3_rc4::IfcWorkSchedule::Class() { return *IFC4X3_RC4_IfcWorkSchedule_type; } Ifc4x3_rc4::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData* e) : IfcWorkControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_RC4_IfcWorkSchedule_type) throw IfcException("Unable to find find keyword in schema"); data_ = e; } -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< IfcTemplatedEntityList< ::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); } } +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 -bool Ifc4x3_rc4::IfcWorkTime::hasRecurrencePattern() const { return !data_->getArgument(3)->isNull(); } -::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcWorkTime::RecurrencePattern() const { return (::Ifc4x3_rc4::IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } +::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return (::Ifc4x3_rc4::IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void Ifc4x3_rc4::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -bool Ifc4x3_rc4::IfcWorkTime::hasStart() const { return !data_->getArgument(4)->isNull(); } -std::string Ifc4x3_rc4::IfcWorkTime::Start() const { return *data_->getArgument(4); } -void Ifc4x3_rc4::IfcWorkTime::setStart(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -bool Ifc4x3_rc4::IfcWorkTime::hasFinish() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcWorkTime::Finish() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcWorkTime::setFinish(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,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);} } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkTime::Finish() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkTime::declaration() const { return *IFC4X3_RC4_IfcWorkTime_type; } @@ -23712,20 +23355,18 @@ Ifc4x3_rc4::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData* e) : IfcSchedulingTi Ifc4x3_rc4::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkTime_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); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RecurrencePattern));data_->setArgument(3,attr);} if (v5_Start) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Start));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Finish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Finish));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcZShapeProfileDef -double Ifc4x3_rc4::IfcZShapeProfileDef::Depth() const { return *data_->getArgument(3); } +double Ifc4x3_rc4::IfcZShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -double Ifc4x3_rc4::IfcZShapeProfileDef::FlangeWidth() const { return *data_->getArgument(4); } +double Ifc4x3_rc4::IfcZShapeProfileDef::FlangeWidth() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -double Ifc4x3_rc4::IfcZShapeProfileDef::WebThickness() const { return *data_->getArgument(5); } +double Ifc4x3_rc4::IfcZShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -double Ifc4x3_rc4::IfcZShapeProfileDef::FlangeThickness() const { return *data_->getArgument(6); } +double Ifc4x3_rc4::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -bool Ifc4x3_rc4::IfcZShapeProfileDef::hasFilletRadius() const { return !data_->getArgument(7)->isNull(); } -double Ifc4x3_rc4::IfcZShapeProfileDef::FilletRadius() const { return *data_->getArgument(7); } -void Ifc4x3_rc4::IfcZShapeProfileDef::setFilletRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -bool Ifc4x3_rc4::IfcZShapeProfileDef::hasEdgeRadius() const { return !data_->getArgument(8)->isNull(); } -double Ifc4x3_rc4::IfcZShapeProfileDef::EdgeRadius() const { return *data_->getArgument(8); } -void Ifc4x3_rc4::IfcZShapeProfileDef::setEdgeRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } +void Ifc4x3_rc4::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +boost::optional< double > Ifc4x3_rc4::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } +void Ifc4x3_rc4::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcZShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcZShapeProfileDef_type; } @@ -23734,9 +23375,8 @@ Ifc4x3_rc4::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcZShapeProfileDef_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_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcZone -bool Ifc4x3_rc4::IfcZone::hasLongName() const { return !data_->getArgument(5)->isNull(); } -std::string Ifc4x3_rc4::IfcZone::LongName() const { return *data_->getArgument(5); } -void Ifc4x3_rc4::IfcZone::setLongName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +boost::optional< std::string > Ifc4x3_rc4::IfcZone::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } +void Ifc4x3_rc4::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcZone::declaration() const { return *IFC4X3_RC4_IfcZone_type; } diff --git a/src/ifcparse/Ifc4x3_rc4.h b/src/ifcparse/Ifc4x3_rc4.h index 854a15008a..ef5e724fe5 100644 --- a/src/ifcparse/Ifc4x3_rc4.h +++ b/src/ifcparse/Ifc4x3_rc4.h @@ -1,3 +1,28 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from IFC4x3_RC2.exp. Do not make modifications * + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ #ifndef IFC4X3_RC4_H #define IFC4X3_RC4_H @@ -9,7 +34,7 @@ #include "../ifcparse/ifc_parse_api.h" -#include "../ifcparse/IfcEntityList.h" +#include "../ifcparse/aggregate_of_instance.h" #include "../ifcparse/IfcBaseClass.h" #include "../ifcparse/IfcSchema.h" #include "../ifcparse/IfcException.h" @@ -22,7 +47,7 @@ static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; // Forward definitions -class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAlignment; class IfcAlignmentCant; class IfcAlignmentCantSegment; class IfcAlignmentHorizontal; class IfcAlignmentHorizontalSegment; class IfcAlignmentParameterSegment; class IfcAlignmentSegment; class IfcAlignmentVertical; class IfcAlignmentVerticalSegment; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcAxis2PlacementLinear; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBearing; class IfcBearingType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBorehole; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBridge; class IfcBuilding; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBuiltElement; class IfcBuiltElementType; class IfcBuiltSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCaissonFoundation; class IfcCaissonFoundationType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList2D; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcClothoid; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcConveyorSegment; class IfcConveyorSegmentType; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCosine; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCourse; class IfcCourseType; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveSegment; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDeepFoundation; class IfcDeepFoundationType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDirectrixCurveSweptAreaSolid; class IfcDirectrixDerivedReferenceSweptAreaSolid; class IfcDirectrixDistanceSweptAreaSolid; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionBoard; class IfcDistributionBoardType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEarthworksCut; class IfcEarthworksElement; class IfcEarthworksFill; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricFlowTreatmentDevice; class IfcElectricFlowTreatmentDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFacility; class IfcFacilityPart; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGeomodel; class IfcGeoslice; class IfcGeotechnicalAssembly; class IfcGeotechnicalElement; class IfcGeotechnicalStratum; class IfcGradientCurve; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcImpactProtectionDevice; class IfcImpactProtectionDeviceType; class IfcInclinedReferenceSweptAreaSolid; class IfcIndexedColourMap; class IfcIndexedPolyCurve; class IfcIndexedPolygonalFace; class IfcIndexedPolygonalFaceWithVoids; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcIntersectionCurve; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcKerb; class IfcKerbType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLinearElement; class IfcLinearPlacement; class IfcLinearPositioningElement; class IfcLiquidTerminal; class IfcLiquidTerminalType; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMarineFacility; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMobileTelecommunicationsAppliance; class IfcMobileTelecommunicationsApplianceType; class IfcMonetaryUnit; class IfcMooringDevice; class IfcMooringDeviceType; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcNavigationElement; class IfcNavigationElementType; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOffsetCurveByDistances; class IfcOpenCrossProfileDef; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPavement; class IfcPavementType; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlant; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointByDistanceExpression; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolygonalFaceSet; class IfcPolyline; class IfcPolynomialCurve; class IfcPort; class IfcPositioningElement; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRail; class IfcRailType; class IfcRailing; class IfcRailingType; class IfcRailway; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcReferent; class IfcRegularTimeSeries; class IfcReinforcedSoil; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelAssociatesProfileDef; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelPositions; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoad; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSeamCurve; class IfcSecondOrderPolynomialSpiral; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSolid; class IfcSectionedSolidHorizontal; class IfcSectionedSpine; class IfcSectionedSurface; class IfcSegment; class IfcSegmentedReferenceCurve; class IfcSensor; class IfcSensorType; class IfcSeventhOrderPolynomialSpiral; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSign; class IfcSignType; class IfcSignal; class IfcSignalType; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSine; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSolidStratum; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcSphericalSurface; class IfcSpiral; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurve; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonConduit; class IfcTendonConduitType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcThirdOrderPolynomialSpiral; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcToroidalSurface; class IfcTrackElement; class IfcTrackElementType; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTriangulatedIrregularNetwork; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationDamper; class IfcVibrationDamperType; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidStratum; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWaterStratum; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcArcIndex; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBinary; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLineIndex; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveInteger; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; +class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAlignment; class IfcAlignmentCant; class IfcAlignmentCantSegment; class IfcAlignmentHorizontal; class IfcAlignmentHorizontalSegment; class IfcAlignmentParameterSegment; class IfcAlignmentSegment; class IfcAlignmentVertical; class IfcAlignmentVerticalSegment; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcAxis2PlacementLinear; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBearing; class IfcBearingType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBorehole; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBridge; class IfcBuilding; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBuiltElement; class IfcBuiltElementType; class IfcBuiltSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCaissonFoundation; class IfcCaissonFoundationType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList2D; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcClothoid; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcConveyorSegment; class IfcConveyorSegmentType; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCosine; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCourse; class IfcCourseType; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveSegment; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDeepFoundation; class IfcDeepFoundationType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDirectrixCurveSweptAreaSolid; class IfcDirectrixDerivedReferenceSweptAreaSolid; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionBoard; class IfcDistributionBoardType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEarthworksCut; class IfcEarthworksElement; class IfcEarthworksFill; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricFlowTreatmentDevice; class IfcElectricFlowTreatmentDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFacility; class IfcFacilityPart; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGeomodel; class IfcGeoslice; class IfcGeotechnicalAssembly; class IfcGeotechnicalElement; class IfcGeotechnicalStratum; class IfcGradientCurve; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcImpactProtectionDevice; class IfcImpactProtectionDeviceType; class IfcIndexedColourMap; class IfcIndexedPolyCurve; class IfcIndexedPolygonalFace; class IfcIndexedPolygonalFaceWithVoids; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcIntersectionCurve; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcKerb; class IfcKerbType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLinearElement; class IfcLinearPlacement; class IfcLinearPositioningElement; class IfcLiquidTerminal; class IfcLiquidTerminalType; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMarineFacility; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMobileTelecommunicationsAppliance; class IfcMobileTelecommunicationsApplianceType; class IfcMonetaryUnit; class IfcMooringDevice; class IfcMooringDeviceType; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcNavigationElement; class IfcNavigationElementType; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOffsetCurveByDistances; class IfcOpenCrossProfileDef; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPavement; class IfcPavementType; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlant; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointByDistanceExpression; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolygonalFaceSet; class IfcPolyline; class IfcPolynomialCurve; class IfcPort; class IfcPositioningElement; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRail; class IfcRailType; class IfcRailing; class IfcRailingType; class IfcRailway; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcReferent; class IfcRegularTimeSeries; class IfcReinforcedSoil; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAdheresToElement; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelAssociatesProfileDef; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelPositions; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoad; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSeamCurve; class IfcSecondOrderPolynomialSpiral; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSolid; class IfcSectionedSolidHorizontal; class IfcSectionedSpine; class IfcSectionedSurface; class IfcSegment; class IfcSegmentedReferenceCurve; class IfcSensor; class IfcSensorType; class IfcSeventhOrderPolynomialSpiral; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSign; class IfcSignType; class IfcSignal; class IfcSignalType; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSine; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSolidStratum; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcSphericalSurface; class IfcSpiral; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurve; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonConduit; class IfcTendonConduitType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcThirdOrderPolynomialSpiral; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcToroidalSurface; class IfcTrackElement; class IfcTrackElementType; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTriangulatedIrregularNetwork; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationDamper; class IfcVibrationDamperType; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidStratum; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWaterStratum; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcArcIndex; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBinary; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLineIndex; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveInteger; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; /// The actor select type allows a person, or an organization, or a person associated with an organization to be referenced. /// @@ -826,7 +851,7 @@ public: class IFC_PARSE_API IfcAlignmentCantSegmentTypeEnum : public IfcUtil::IfcBaseType { public: - typedef enum {IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; + typedef enum {IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -840,7 +865,7 @@ public: class IFC_PARSE_API IfcAlignmentHorizontalSegmentTypeEnum : public IfcUtil::IfcBaseType { public: - typedef enum {IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_HELMERTCURVE, IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_CUBICSPIRAL, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; + typedef enum {IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_HELMERTCURVE, IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -998,7 +1023,7 @@ class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public IfcUtil::IfcBaseTyp /// TELEPHONE: A telecommunications device that is used to transmit and receive sound, and optionally video. /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. public: - typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_RAILWAY_COMMUNICATION_TERMINAL, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; + typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_COMMUNICATIONTERMINAL, IfcAudioVisualApplianceType_RECORDINGEQUIPMENT, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -1620,7 +1645,7 @@ class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public IfcUtil::IfcBase /// ROUTER: A router is a networking device whose software and hardware are usually tailored to the tasks of routing and forwarding information. For example, on the Internet, information is directed to various paths by routers. /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. public: - typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_INTELLIGENT_PERIPHERAL, IfcCommunicationsApplianceType_IP_NETWORK_EQUIPMENT, IfcCommunicationsApplianceType_OPTICAL_NETWORK_UNIT, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; + typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_INTELLIGENTPERIPHERAL, IfcCommunicationsApplianceType_IPNETWORKEQUIPMENT, IfcCommunicationsApplianceType_OPTICALNETWORKUNIT, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_OPTICALLINETERMINAL, IfcCommunicationsApplianceType_LINESIDEELECTRONICUNIT, IfcCommunicationsApplianceType_RADIOBLOCKCENTER, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -2305,7 +2330,7 @@ public: class IFC_PARSE_API IfcDistributionBoardTypeEnum : public IfcUtil::IfcBaseType { public: - typedef enum {IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; + typedef enum {IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_DISPATCHINGBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -2408,7 +2433,7 @@ class IFC_PARSE_API IfcDistributionSystemEnum : public IfcUtil::IfcBaseType { /// TELEPHONE: A transport or network dedicated to telephone system usage. /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). public: - typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; + typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_FIXEDTRANSMISSIONNETWORK, IfcDistributionSystem_OPERATIONALTELEPHONYSYSTEM, IfcDistributionSystem_MOBILENETWORK, IfcDistributionSystem_MONITORINGSYSTEM, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -4652,7 +4677,7 @@ public: class IFC_PARSE_API IfcMobileTelecommunicationsApplianceTypeEnum : public IfcUtil::IfcBaseType { public: - typedef enum {IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_REMOTE_RADIO_UNIT, IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; + typedef enum {IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_REMOTERADIOUNIT, IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_GATEWAY_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_SUBSCRIBERSERVER, IfcMobileTelecommunicationsApplianceType_MOBILESWITCHINGCENTER, IfcMobileTelecommunicationsApplianceType_MSCSERVER, IfcMobileTelecommunicationsApplianceType_PACKETCONTROLUNIT, IfcMobileTelecommunicationsApplianceType_SERVICE_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -5613,7 +5638,7 @@ public: class IFC_PARSE_API IfcReferentTypeEnum : public IfcUtil::IfcBaseType { public: - typedef enum {IfcReferentType_KILOPOINT, IfcReferentType_MILEPOINT, IfcReferentType_STATION, IfcReferentType_REFERENCEMARKER, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED, IfcReferentType_LANDMARK, IfcReferentType_BOUNDARY, IfcReferentType_INTERSECTION, IfcReferentType_POSITION} Value; + typedef enum {IfcReferentType_KILOPOINT, IfcReferentType_MILEPOINT, IfcReferentType_STATION, IfcReferentType_REFERENCEMARKER, IfcReferentType_LANDMARK, IfcReferentType_BOUNDARY, IfcReferentType_INTERSECTION, IfcReferentType_POSITION, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -6353,7 +6378,7 @@ class IFC_PARSE_API IfcSpatialZoneTypeEnum : public IfcUtil::IfcBaseType { /// NOTDEFINED: undefined type spatial /// zone public: - typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; + typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_INTERFERENCE, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -7156,7 +7181,7 @@ class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public IfcUtil::IfcBaseTy /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. public: - typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; + typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_BASESTATIONCONTROLLER, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); @@ -8782,8 +8807,8 @@ public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); explicit IfcLogical (IfcEntityInstanceData* e); - IfcLogical (bool v); - operator bool() const; + IfcLogical (boost::logic::tribool v); + operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. /// Usually measured in Lumen (lm, Candela Steradian). @@ -9252,8 +9277,8 @@ public: virtual const IfcParse::type_declaration& declaration() const; static const IfcParse::type_declaration& Class(); explicit IfcPropertySetDefinitionSet (IfcEntityInstanceData* e); - IfcPropertySetDefinitionSet (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v); - operator IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr() const; + IfcPropertySetDefinitionSet (aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v); + operator aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. /// Usually measured in Becquerel (Bq, 1/s). @@ -9907,25 +9932,21 @@ public: /// the user defined role shall be provided as a value of the attribute UserDefinedRole. ::Ifc4x3_rc4::IfcRoleEnum::Value Role() const; void setRole(::Ifc4x3_rc4::IfcRoleEnum::Value v); - /// Whether the optional attribute UserDefinedRole is defined for this IfcActorRole - bool hasUserDefinedRole() const; /// Allows for specification of user defined roles beyond the /// enumeration values provided by Role attribute of type IfcRoleEnum. /// When a value is provided for attribute UserDefinedRole in parallel /// the attribute Role shall have enumeration value USERDEFINED. - std::string UserDefinedRole() const; - void setUserDefinedRole(std::string v); - /// Whether the optional attribute Description is defined for this IfcActorRole - bool hasDescription() const; + boost::optional< std::string > UserDefinedRole() const; + void setUserDefinedRole(boost::optional< std::string > v); /// A textual description relating the nature of the role played by an actor. - std::string Description() const; - void setDescription(std::string v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcActorRole (IfcEntityInstanceData* e); IfcActorRole (::Ifc4x3_rc4::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description); - typedef IfcTemplatedEntityList< IfcActorRole > list; + typedef aggregate_of< IfcActorRole > list; }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -9934,48 +9955,38 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Purpose is defined for this IfcAddress - bool hasPurpose() const; /// Identifies the logical location of the address. - ::Ifc4x3_rc4::IfcAddressTypeEnum::Value Purpose() const; - void setPurpose(::Ifc4x3_rc4::IfcAddressTypeEnum::Value v); - /// Whether the optional attribute Description is defined for this IfcAddress - bool hasDescription() const; + boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > Purpose() const; + void setPurpose(boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v); /// Text that relates the nature of the address. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute UserDefinedPurpose is defined for this IfcAddress - bool hasUserDefinedPurpose() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Allows for specification of user specific purpose of the address beyond the /// enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. /// When a value is provided for attribute UserDefinedPurpose, in parallel the /// attribute Purpose shall have enumeration value USERDEFINED. - std::string UserDefinedPurpose() const; - void setUserDefinedPurpose(std::string v); - IfcTemplatedEntityList< IfcPerson >::ptr OfPerson() const; // INVERSE IfcPerson::Addresses - IfcTemplatedEntityList< IfcOrganization >::ptr OfOrganization() const; // INVERSE IfcOrganization::Addresses + boost::optional< std::string > UserDefinedPurpose() const; + void setUserDefinedPurpose(boost::optional< std::string > v); + aggregate_of< IfcPerson >::ptr OfPerson() const; // INVERSE IfcPerson::Addresses + aggregate_of< IfcOrganization >::ptr OfOrganization() const; // INVERSE IfcOrganization::Addresses virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAddress (IfcEntityInstanceData* e); IfcAddress (boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose); - typedef IfcTemplatedEntityList< IfcAddress > list; + typedef aggregate_of< IfcAddress > list; }; class IFC_PARSE_API IfcAlignmentParameterSegment : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute StartTag is defined for this IfcAlignmentParameterSegment - bool hasStartTag() const; - std::string StartTag() const; - void setStartTag(std::string v); - /// Whether the optional attribute EndTag is defined for this IfcAlignmentParameterSegment - bool hasEndTag() const; - std::string EndTag() const; - void setEndTag(std::string v); + boost::optional< std::string > StartTag() const; + void setStartTag(boost::optional< std::string > v); + boost::optional< std::string > EndTag() const; + void setEndTag(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAlignmentParameterSegment (IfcEntityInstanceData* e); IfcAlignmentParameterSegment (boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag); - typedef IfcTemplatedEntityList< IfcAlignmentParameterSegment > list; + typedef aggregate_of< IfcAlignmentParameterSegment > list; }; class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { @@ -9990,17 +10001,15 @@ public: void setStartGradient(double v); double EndGradient() const; void setEndGradient(double v); - /// Whether the optional attribute RadiusOfCurvature is defined for this IfcAlignmentVerticalSegment - bool hasRadiusOfCurvature() const; - double RadiusOfCurvature() const; - void setRadiusOfCurvature(double v); + boost::optional< double > RadiusOfCurvature() const; + void setRadiusOfCurvature(boost::optional< double > v); ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAlignmentVerticalSegment (IfcEntityInstanceData* e); IfcAlignmentVerticalSegment (boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, boost::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcAlignmentVerticalSegment > list; + typedef aggregate_of< IfcAlignmentVerticalSegment > list; }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// @@ -10023,7 +10032,7 @@ public: static const IfcParse::entity& Class(); IfcApplication (IfcEntityInstanceData* e); IfcApplication (::Ifc4x3_rc4::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); - typedef IfcTemplatedEntityList< IfcApplication > list; + typedef aggregate_of< IfcApplication > list; }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -10041,23 +10050,15 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcAppliedValue - bool hasName() const; /// A name or additional clarification given to a cost value. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcAppliedValue - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// The description that may apply additional information about a cost value. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute AppliedValue is defined for this IfcAppliedValue - bool hasAppliedValue() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// The extent or quantity or amount of an applied value. ::Ifc4x3_rc4::IfcAppliedValueSelect* AppliedValue() const; void setAppliedValue(::Ifc4x3_rc4::IfcAppliedValueSelect* v); - /// Whether the optional attribute UnitBasis is defined for this IfcAppliedValue - bool hasUnitBasis() const; /// The number and unit of measure on which the unit cost is based. /// /// Note: As well as the normally expected units of measure such as length, area, volume etc., costs may be based on units of measure which need to be defined e.g. sack, drum, pallet, item etc. Unit costs may be based on quantities greater (or lesser) than a unitary value of the basis measure. For instance, timber may have a unit cost rate per X meters where X > 1; similarly for cable, piping and many other items. The basis number may be either an integer or a real value. @@ -10065,42 +10066,30 @@ public: /// Note: This attribute should be asserted for all circumstances where the cost to be applied is per unit quantity. It may be asserted even for circumstances where an item price is used, in which case the unit cost basis should be by item (or equivalent definition). ::Ifc4x3_rc4::IfcMeasureWithUnit* UnitBasis() const; void setUnitBasis(::Ifc4x3_rc4::IfcMeasureWithUnit* v); - /// Whether the optional attribute ApplicableDate is defined for this IfcAppliedValue - bool hasApplicableDate() const; /// The date on or from which an applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string ApplicableDate() const; - void setApplicableDate(std::string v); - /// Whether the optional attribute FixedUntilDate is defined for this IfcAppliedValue - bool hasFixedUntilDate() const; + boost::optional< std::string > ApplicableDate() const; + void setApplicableDate(boost::optional< std::string > v); /// The date until which applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string FixedUntilDate() const; - void setFixedUntilDate(std::string v); - /// Whether the optional attribute Category is defined for this IfcAppliedValue - bool hasCategory() const; - std::string Category() const; - void setCategory(std::string v); - /// Whether the optional attribute Condition is defined for this IfcAppliedValue - bool hasCondition() const; - std::string Condition() const; - void setCondition(std::string v); - /// Whether the optional attribute ArithmeticOperator is defined for this IfcAppliedValue - bool hasArithmeticOperator() const; - ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value ArithmeticOperator() const; - void setArithmeticOperator(::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value v); - /// Whether the optional attribute Components is defined for this IfcAppliedValue - bool hasComponents() const; - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr Components() const; - void setComponents(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + boost::optional< std::string > FixedUntilDate() const; + void setFixedUntilDate(boost::optional< std::string > v); + boost::optional< std::string > Category() const; + void setCategory(boost::optional< std::string > v); + boost::optional< std::string > Condition() const; + void setCondition(boost::optional< std::string > v); + boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > ArithmeticOperator() const; + void setArithmeticOperator(boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Components() const; + void setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v); + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAppliedValue (IfcEntityInstanceData* e); - IfcAppliedValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components); - typedef IfcTemplatedEntityList< IfcAppliedValue > list; + IfcAppliedValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components); + typedef aggregate_of< IfcAppliedValue > list; }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -10109,67 +10098,49 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Identifier is defined for this IfcApproval - bool hasIdentifier() const; /// A computer interpretable identifier by which the approval is known. - std::string Identifier() const; - void setIdentifier(std::string v); - /// Whether the optional attribute Name is defined for this IfcApproval - bool hasName() const; + boost::optional< std::string > Identifier() const; + void setIdentifier(boost::optional< std::string > v); /// A human readable name given to an approval. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcApproval - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// A general textual description of a design, work task, plan, etc. that is being approved for. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute TimeOfApproval is defined for this IfcApproval - bool hasTimeOfApproval() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Date and time when the result of the approval process is produced. /// /// IFC2x4 CHANGE  Attribute data type changed to IfcDateTime using ISO 8601 representation, renamed from ApprovalDateTime and made OPTIONAL. - std::string TimeOfApproval() const; - void setTimeOfApproval(std::string v); - /// Whether the optional attribute Status is defined for this IfcApproval - bool hasStatus() const; + boost::optional< std::string > TimeOfApproval() const; + void setTimeOfApproval(boost::optional< std::string > v); /// The result or current status of the approval, e.g. Requested, Processed, Approved, Not Approved. - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute Level is defined for this IfcApproval - bool hasLevel() const; + boost::optional< std::string > Status() const; + void setStatus(boost::optional< std::string > v); /// Level of the approval e.g. Draft v.s. Completed design. - std::string Level() const; - void setLevel(std::string v); - /// Whether the optional attribute Qualifier is defined for this IfcApproval - bool hasQualifier() const; + boost::optional< std::string > Level() const; + void setLevel(boost::optional< std::string > v); /// Textual description of special constraints or conditions for the approval. - std::string Qualifier() const; - void setQualifier(std::string v); - /// Whether the optional attribute RequestingApproval is defined for this IfcApproval - bool hasRequestingApproval() const; + boost::optional< std::string > Qualifier() const; + void setQualifier(boost::optional< std::string > v); /// The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and requesting an approval. /// /// IFC2x4 CHANGE  New attribute for approval request replacing IfcApprovalActorRelationship (being deleted). ::Ifc4x3_rc4::IfcActorSelect* RequestingApproval() const; void setRequestingApproval(::Ifc4x3_rc4::IfcActorSelect* v); - /// Whether the optional attribute GivingApproval is defined for this IfcApproval - bool hasGivingApproval() const; /// The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and giving an approval. /// /// IFC2x4 CHANGE  New attribute for approval provision replacing IfcApprovalActorRelationship (being deleted). ::Ifc4x3_rc4::IfcActorSelect* GivingApproval() const; void setGivingApproval(::Ifc4x3_rc4::IfcActorSelect* v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - IfcTemplatedEntityList< IfcRelAssociatesApproval >::ptr ApprovedObjects() const; // INVERSE IfcRelAssociatesApproval::RelatingApproval - IfcTemplatedEntityList< IfcResourceApprovalRelationship >::ptr ApprovedResources() const; // INVERSE IfcResourceApprovalRelationship::RelatingApproval - IfcTemplatedEntityList< IfcApprovalRelationship >::ptr IsRelatedWith() const; // INVERSE IfcApprovalRelationship::RelatedApprovals - IfcTemplatedEntityList< IfcApprovalRelationship >::ptr Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcRelAssociatesApproval >::ptr ApprovedObjects() const; // INVERSE IfcRelAssociatesApproval::RelatingApproval + aggregate_of< IfcResourceApprovalRelationship >::ptr ApprovedResources() const; // INVERSE IfcResourceApprovalRelationship::RelatingApproval + aggregate_of< IfcApprovalRelationship >::ptr IsRelatedWith() const; // INVERSE IfcApprovalRelationship::RelatedApprovals + aggregate_of< IfcApprovalRelationship >::ptr Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcApproval (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcApproval > list; + typedef aggregate_of< IfcApproval > list; }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -10188,16 +10159,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcBoundaryCondition - bool hasName() const; /// Optionally defines a name for this boundary condition. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBoundaryCondition (IfcEntityInstanceData* e); IfcBoundaryCondition (boost::optional< std::string > v1_Name); - typedef IfcTemplatedEntityList< IfcBoundaryCondition > list; + typedef aggregate_of< IfcBoundaryCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -10211,33 +10180,21 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - /// Whether the optional attribute TranslationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasTranslationalStiffnessByLengthX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; void setTranslationalStiffnessByLengthX(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v); - /// Whether the optional attribute TranslationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasTranslationalStiffnessByLengthY() const; /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthY() const; void setTranslationalStiffnessByLengthY(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v); - /// Whether the optional attribute TranslationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasTranslationalStiffnessByLengthZ() const; /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthZ() const; void setTranslationalStiffnessByLengthZ(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v); - /// Whether the optional attribute RotationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* RotationalStiffnessByLengthX() const; void setRotationalStiffnessByLengthX(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v); - /// Whether the optional attribute RotationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* RotationalStiffnessByLengthY() const; void setRotationalStiffnessByLengthY(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v); - /// Whether the optional attribute RotationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* RotationalStiffnessByLengthZ() const; void setRotationalStiffnessByLengthZ(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v); @@ -10245,7 +10202,7 @@ public: static const IfcParse::entity& Class(); IfcBoundaryEdgeCondition (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcBoundaryEdgeCondition > list; + typedef aggregate_of< IfcBoundaryEdgeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -10259,18 +10216,12 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - /// Whether the optional attribute TranslationalStiffnessByAreaX is defined for this IfcBoundaryFaceCondition - bool hasTranslationalStiffnessByAreaX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; void setTranslationalStiffnessByAreaX(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v); - /// Whether the optional attribute TranslationalStiffnessByAreaY is defined for this IfcBoundaryFaceCondition - bool hasTranslationalStiffnessByAreaY() const; /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaY() const; void setTranslationalStiffnessByAreaY(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v); - /// Whether the optional attribute TranslationalStiffnessByAreaZ is defined for this IfcBoundaryFaceCondition - bool hasTranslationalStiffnessByAreaZ() const; /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaZ() const; void setTranslationalStiffnessByAreaZ(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v); @@ -10278,7 +10229,7 @@ public: static const IfcParse::entity& Class(); IfcBoundaryFaceCondition (IfcEntityInstanceData* e); IfcBoundaryFaceCondition (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ); - typedef IfcTemplatedEntityList< IfcBoundaryFaceCondition > list; + typedef aggregate_of< IfcBoundaryFaceCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -10292,33 +10243,21 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - /// Whether the optional attribute TranslationalStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasTranslationalStiffnessX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; void setTranslationalStiffnessX(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v); - /// Whether the optional attribute TranslationalStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasTranslationalStiffnessY() const; /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* TranslationalStiffnessY() const; void setTranslationalStiffnessY(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v); - /// Whether the optional attribute TranslationalStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasTranslationalStiffnessZ() const; /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* TranslationalStiffnessZ() const; void setTranslationalStiffnessZ(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v); - /// Whether the optional attribute RotationalStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcRotationalStiffnessSelect* RotationalStiffnessX() const; void setRotationalStiffnessX(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v); - /// Whether the optional attribute RotationalStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcRotationalStiffnessSelect* RotationalStiffnessY() const; void setRotationalStiffnessY(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v); - /// Whether the optional attribute RotationalStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcRotationalStiffnessSelect* RotationalStiffnessZ() const; void setRotationalStiffnessZ(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v); @@ -10326,7 +10265,7 @@ public: static const IfcParse::entity& Class(); IfcBoundaryNodeCondition (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcBoundaryNodeCondition > list; + typedef aggregate_of< IfcBoundaryNodeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -10339,8 +10278,6 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - /// Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping - bool hasWarpingStiffness() const; /// Defines the warping stiffness value. ::Ifc4x3_rc4::IfcWarpingStiffnessSelect* WarpingStiffness() const; void setWarpingStiffness(::Ifc4x3_rc4::IfcWarpingStiffnessSelect* v); @@ -10348,7 +10285,7 @@ public: static const IfcParse::entity& Class(); IfcBoundaryNodeConditionWarping (IfcEntityInstanceData* e); IfcBoundaryNodeConditionWarping (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, ::Ifc4x3_rc4::IfcWarpingStiffnessSelect* v8_WarpingStiffness); - typedef IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping > list; + typedef aggregate_of< IfcBoundaryNodeConditionWarping > list; }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -10370,7 +10307,7 @@ public: static const IfcParse::entity& Class(); IfcConnectionGeometry (IfcEntityInstanceData* e); IfcConnectionGeometry (); - typedef IfcTemplatedEntityList< IfcConnectionGeometry > list; + typedef aggregate_of< IfcConnectionGeometry > list; }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -10393,8 +10330,6 @@ public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcPointOrVertexPoint* PointOnRelatingElement() const; void setPointOnRelatingElement(::Ifc4x3_rc4::IfcPointOrVertexPoint* v); - /// Whether the optional attribute PointOnRelatedElement is defined for this IfcConnectionPointGeometry - bool hasPointOnRelatedElement() const; /// Point at which connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. ::Ifc4x3_rc4::IfcPointOrVertexPoint* PointOnRelatedElement() const; void setPointOnRelatedElement(::Ifc4x3_rc4::IfcPointOrVertexPoint* v); @@ -10402,7 +10337,7 @@ public: static const IfcParse::entity& Class(); IfcConnectionPointGeometry (IfcEntityInstanceData* e); IfcConnectionPointGeometry (::Ifc4x3_rc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement); - typedef IfcTemplatedEntityList< IfcConnectionPointGeometry > list; + typedef aggregate_of< IfcConnectionPointGeometry > list; }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -10417,8 +10352,6 @@ public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; void setSurfaceOnRelatingElement(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v); - /// Whether the optional attribute SurfaceOnRelatedElement is defined for this IfcConnectionSurfaceGeometry - bool hasSurfaceOnRelatedElement() const; /// Surface at which the relating element is aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* SurfaceOnRelatedElement() const; void setSurfaceOnRelatedElement(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v); @@ -10426,7 +10359,7 @@ public: static const IfcParse::entity& Class(); IfcConnectionSurfaceGeometry (IfcEntityInstanceData* e); IfcConnectionSurfaceGeometry (::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement); - typedef IfcTemplatedEntityList< IfcConnectionSurfaceGeometry > list; + typedef aggregate_of< IfcConnectionSurfaceGeometry > list; }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -10439,8 +10372,6 @@ public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcSolidOrShell* VolumeOnRelatingElement() const; void setVolumeOnRelatingElement(::Ifc4x3_rc4::IfcSolidOrShell* v); - /// Whether the optional attribute VolumeOnRelatedElement is defined for this IfcConnectionVolumeGeometry - bool hasVolumeOnRelatedElement() const; /// Volume at which related object overlaps with the relating element, given in the LCS of the related element. ::Ifc4x3_rc4::IfcSolidOrShell* VolumeOnRelatedElement() const; void setVolumeOnRelatedElement(::Ifc4x3_rc4::IfcSolidOrShell* v); @@ -10448,7 +10379,7 @@ public: static const IfcParse::entity& Class(); IfcConnectionVolumeGeometry (IfcEntityInstanceData* e); IfcConnectionVolumeGeometry (::Ifc4x3_rc4::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc4::IfcSolidOrShell* v2_VolumeOnRelatedElement); - typedef IfcTemplatedEntityList< IfcConnectionVolumeGeometry > list; + typedef aggregate_of< IfcConnectionVolumeGeometry > list; }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -10467,44 +10398,34 @@ public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcConstraint - bool hasDescription() const; /// A description that may apply additional information about a constraint. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Enumeration that qualifies the type of constraint. ::Ifc4x3_rc4::IfcConstraintEnum::Value ConstraintGrade() const; void setConstraintGrade(::Ifc4x3_rc4::IfcConstraintEnum::Value v); - /// Whether the optional attribute ConstraintSource is defined for this IfcConstraint - bool hasConstraintSource() const; /// Any source material, such as a code or standard, from which the constraint originated. - std::string ConstraintSource() const; - void setConstraintSource(std::string v); - /// Whether the optional attribute CreatingActor is defined for this IfcConstraint - bool hasCreatingActor() const; + boost::optional< std::string > ConstraintSource() const; + void setConstraintSource(boost::optional< std::string > v); /// Person and/or organization that has created the constraint. ::Ifc4x3_rc4::IfcActorSelect* CreatingActor() const; void setCreatingActor(::Ifc4x3_rc4::IfcActorSelect* v); - /// Whether the optional attribute CreationTime is defined for this IfcConstraint - bool hasCreationTime() const; /// Time when information specifying the constraint instance was created. /// /// Note IFC2x4 CHANGE: Attribute data type changed to IfcDateTime using ISO 8601 representation - std::string CreationTime() const; - void setCreationTime(std::string v); - /// Whether the optional attribute UserDefinedGrade is defined for this IfcConstraint - bool hasUserDefinedGrade() const; + boost::optional< std::string > CreationTime() const; + void setCreationTime(boost::optional< std::string > v); /// Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. /// When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED. - std::string UserDefinedGrade() const; - void setUserDefinedGrade(std::string v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - IfcTemplatedEntityList< IfcResourceConstraintRelationship >::ptr PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint + boost::optional< std::string > UserDefinedGrade() const; + void setUserDefinedGrade(boost::optional< std::string > v); + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcResourceConstraintRelationship >::ptr PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstraint (IfcEntityInstanceData* e); IfcConstraint (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade); - typedef IfcTemplatedEntityList< IfcConstraint > list; + typedef aggregate_of< IfcConstraint > list; }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -10564,7 +10485,7 @@ public: static const IfcParse::entity& Class(); IfcCoordinateOperation (IfcEntityInstanceData* e); IfcCoordinateOperation (::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem* v2_TargetCRS); - typedef IfcTemplatedEntityList< IfcCoordinateOperation > list; + typedef aggregate_of< IfcCoordinateOperation > list; }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -10594,34 +10515,28 @@ public: /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcCoordinateReferenceSystem - bool hasDescription() const; /// Informal description of this coordinate reference system. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute GeodeticDatum is defined for this IfcCoordinateReferenceSystem - bool hasGeodeticDatum() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Name by which this datum is identified. The geodetic datum is associated with the coordinate reference system and indicates the shape and size of the rotation ellipsoid and this ellipsoid's connection and orientation to the actual globe/earth. Examples for geodetic datums include: /// /// ED50 /// EUREF89 /// WSG84 - std::string GeodeticDatum() const; - void setGeodeticDatum(std::string v); - /// Whether the optional attribute VerticalDatum is defined for this IfcCoordinateReferenceSystem - bool hasVerticalDatum() const; + boost::optional< std::string > GeodeticDatum() const; + void setGeodeticDatum(boost::optional< std::string > v); /// Name by which the vertical datum is identified. The vertical datum is associated with the height axis of the coordinate reference system and indicates the reference plane and fundamental point defining the origin of a height system. Examples for vertical datums include: /// /// height above mean sea level at Dover in 1952 /// other sea levels - std::string VerticalDatum() const; - void setVerticalDatum(std::string v); - IfcTemplatedEntityList< IfcCoordinateOperation >::ptr HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS + boost::optional< std::string > VerticalDatum() const; + void setVerticalDatum(boost::optional< std::string > v); + aggregate_of< IfcCoordinateOperation >::ptr HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCoordinateReferenceSystem (IfcEntityInstanceData* e); IfcCoordinateReferenceSystem (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum); - typedef IfcTemplatedEntityList< IfcCoordinateReferenceSystem > list; + typedef aggregate_of< IfcCoordinateReferenceSystem > list; }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -10670,8 +10585,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCostValue (IfcEntityInstanceData* e); - IfcCostValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components); - typedef IfcTemplatedEntityList< IfcCostValue > list; + IfcCostValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components); + typedef aggregate_of< IfcCostValue > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -10683,20 +10598,18 @@ public: class IFC_PARSE_API IfcDerivedUnit : public IfcUtil::IfcBaseEntity { public: /// The group of units and their exponents that define the derived unit. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr Elements() const; - void setElements(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr v); /// Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models. ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value UnitType() const; void setUnitType(::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v); - /// Whether the optional attribute UserDefinedType is defined for this IfcDerivedUnit - bool hasUserDefinedType() const; - std::string UserDefinedType() const; - void setUserDefinedType(std::string v); + boost::optional< std::string > UserDefinedType() const; + void setUserDefinedType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDerivedUnit (IfcEntityInstanceData* e); - IfcDerivedUnit (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType); - typedef IfcTemplatedEntityList< IfcDerivedUnit > list; + IfcDerivedUnit (aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType); + typedef aggregate_of< IfcDerivedUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -10719,7 +10632,7 @@ public: static const IfcParse::entity& Class(); IfcDerivedUnitElement (IfcEntityInstanceData* e); IfcDerivedUnitElement (::Ifc4x3_rc4::IfcNamedUnit* v1_Unit, int v2_Exponent); - typedef IfcTemplatedEntityList< IfcDerivedUnitElement > list; + typedef aggregate_of< IfcDerivedUnitElement > list; }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -10765,7 +10678,7 @@ public: static const IfcParse::entity& Class(); IfcDimensionalExponents (IfcEntityInstanceData* e); IfcDimensionalExponents (int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); - typedef IfcTemplatedEntityList< IfcDimensionalExponents > list; + typedef aggregate_of< IfcDimensionalExponents > list; }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -10779,7 +10692,7 @@ public: static const IfcParse::entity& Class(); IfcExternalInformation (IfcEntityInstanceData* e); IfcExternalInformation (); - typedef IfcTemplatedEntityList< IfcExternalInformation > list; + typedef aggregate_of< IfcExternalInformation > list; }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -10792,15 +10705,11 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Location is defined for this IfcExternalReference - bool hasLocation() const; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// /// IFC2x4 CHANGE  The data type has been changed from IfcLabel to IfcURIReference. - std::string Location() const; - void setLocation(std::string v); - /// Whether the optional attribute Identification is defined for this IfcExternalReference - bool hasIdentification() const; + boost::optional< std::string > Location() const; + void setLocation(boost::optional< std::string > v); /// The Identification provides a unique identifier of the referenced item within the external source (classification, document or library). It may be provided as /// /// a key, e.g. a classification notation, like NF2.3 @@ -10810,19 +10719,17 @@ public: /// It may be human readable (such as a key) or not (such as a handle or uuid) depending on the context of its usage (which has to be determined by local agreement). /// /// IFC2x4 CHANGE Attribute renamed from ItemReference for consistency. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute Name is defined for this IfcExternalReference - bool hasName() const; + boost::optional< std::string > Identification() const; + void setIdentification(boost::optional< std::string > v); /// Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document). - std::string Name() const; - void setName(std::string v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); + aggregate_of< IfcExternalReferenceRelationship >::ptr ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReference (IfcEntityInstanceData* e); IfcExternalReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name); - typedef IfcTemplatedEntityList< IfcExternalReference > list; + typedef aggregate_of< IfcExternalReference > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -10838,7 +10745,7 @@ public: static const IfcParse::entity& Class(); IfcExternallyDefinedHatchStyle (IfcEntityInstanceData* e); IfcExternallyDefinedHatchStyle (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name); - typedef IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle > list; + typedef aggregate_of< IfcExternallyDefinedHatchStyle > list; }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -10853,7 +10760,7 @@ public: static const IfcParse::entity& Class(); IfcExternallyDefinedSurfaceStyle (IfcEntityInstanceData* e); IfcExternallyDefinedSurfaceStyle (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name); - typedef IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle > list; + typedef aggregate_of< IfcExternallyDefinedSurfaceStyle > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -10868,7 +10775,7 @@ public: static const IfcParse::entity& Class(); IfcExternallyDefinedTextFont (IfcEntityInstanceData* e); IfcExternallyDefinedTextFont (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name); - typedef IfcTemplatedEntityList< IfcExternallyDefinedTextFont > list; + typedef aggregate_of< IfcExternallyDefinedTextFont > list; }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -10895,26 +10802,24 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute AxisTag is defined for this IfcGridAxis - bool hasAxisTag() const; /// The tag or name for this grid axis. - std::string AxisTag() const; - void setAxisTag(std::string v); + boost::optional< std::string > AxisTag() const; + void setAxisTag(boost::optional< std::string > v); /// Underlying curve which provides the geometry for this grid axis. ::Ifc4x3_rc4::IfcCurve* AxisCurve() const; void setAxisCurve(::Ifc4x3_rc4::IfcCurve* v); /// Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis. bool SameSense() const; void setSameSense(bool v); - IfcTemplatedEntityList< IfcGrid >::ptr PartOfW() const; // INVERSE IfcGrid::WAxes - IfcTemplatedEntityList< IfcGrid >::ptr PartOfV() const; // INVERSE IfcGrid::VAxes - IfcTemplatedEntityList< IfcGrid >::ptr PartOfU() const; // INVERSE IfcGrid::UAxes - IfcTemplatedEntityList< IfcVirtualGridIntersection >::ptr HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes + aggregate_of< IfcGrid >::ptr PartOfW() const; // INVERSE IfcGrid::WAxes + aggregate_of< IfcGrid >::ptr PartOfV() const; // INVERSE IfcGrid::VAxes + aggregate_of< IfcGrid >::ptr PartOfU() const; // INVERSE IfcGrid::UAxes + aggregate_of< IfcVirtualGridIntersection >::ptr HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGridAxis (IfcEntityInstanceData* e); IfcGridAxis (boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc4::IfcCurve* v2_AxisCurve, bool v3_SameSense); - typedef IfcTemplatedEntityList< IfcGridAxis > list; + typedef aggregate_of< IfcGridAxis > list; }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// @@ -10925,13 +10830,13 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - IfcEntityList::ptr ListValues() const; - void setListValues(IfcEntityList::ptr v); + aggregate_of_instance::ptr ListValues() const; + void setListValues(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, IfcEntityList::ptr v2_ListValues); - typedef IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > list; + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + typedef aggregate_of< IfcIrregularTimeSeriesValue > list; }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -10946,41 +10851,31 @@ public: /// The name which is used to identify the library. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Version is defined for this IfcLibraryInformation - bool hasVersion() const; /// Identifier for the library version used for reference. - std::string Version() const; - void setVersion(std::string v); - /// Whether the optional attribute Publisher is defined for this IfcLibraryInformation - bool hasPublisher() const; + boost::optional< std::string > Version() const; + void setVersion(boost::optional< std::string > v); /// Information of the organization that acts as the library publisher. ::Ifc4x3_rc4::IfcActorSelect* Publisher() const; void setPublisher(::Ifc4x3_rc4::IfcActorSelect* v); - /// Whether the optional attribute VersionDate is defined for this IfcLibraryInformation - bool hasVersionDate() const; /// Date of the referenced version of the library. /// /// IFC2x4 CHANGE  The data type has been changed to IfcDate, the date string according to ISO8601. - std::string VersionDate() const; - void setVersionDate(std::string v); - /// Whether the optional attribute Location is defined for this IfcLibraryInformation - bool hasLocation() const; + boost::optional< std::string > VersionDate() const; + void setVersionDate(boost::optional< std::string > v); /// Resource identifier or locator, provided as URI, URN or URL, of the library information for online references. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Location() const; - void setLocation(std::string v); - /// Whether the optional attribute Description is defined for this IfcLibraryInformation - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); - IfcTemplatedEntityList< IfcRelAssociatesLibrary >::ptr LibraryInfoForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary - IfcTemplatedEntityList< IfcLibraryReference >::ptr HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary + boost::optional< std::string > Location() const; + void setLocation(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); + aggregate_of< IfcRelAssociatesLibrary >::ptr LibraryInfoForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary + aggregate_of< IfcLibraryReference >::ptr HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLibraryInformation (IfcEntityInstanceData* e); IfcLibraryInformation (std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_rc4::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description); - typedef IfcTemplatedEntityList< IfcLibraryInformation > list; + typedef aggregate_of< IfcLibraryInformation > list; }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -10991,31 +10886,25 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - /// Whether the optional attribute Description is defined for this IfcLibraryReference - bool hasDescription() const; /// Additional description provided for the library reference. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Language is defined for this IfcLibraryReference - bool hasLanguage() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// The language in which a library reference is expressed. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Language() const; - void setLanguage(std::string v); - /// Whether the optional attribute ReferencedLibrary is defined for this IfcLibraryReference - bool hasReferencedLibrary() const; + boost::optional< std::string > Language() const; + void setLanguage(boost::optional< std::string > v); /// The library information that is being referenced. ::Ifc4x3_rc4::IfcLibraryInformation* ReferencedLibrary() const; void setReferencedLibrary(::Ifc4x3_rc4::IfcLibraryInformation* v); - IfcTemplatedEntityList< IfcRelAssociatesLibrary >::ptr LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary + aggregate_of< IfcRelAssociatesLibrary >::ptr LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLibraryReference (IfcEntityInstanceData* e); IfcLibraryReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Language, ::Ifc4x3_rc4::IfcLibraryInformation* v6_ReferencedLibrary); - typedef IfcTemplatedEntityList< IfcLibraryReference > list; + typedef aggregate_of< IfcLibraryReference > list; }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -11049,7 +10938,7 @@ public: static const IfcParse::entity& Class(); IfcLightDistributionData (IfcEntityInstanceData* e); IfcLightDistributionData (double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); - typedef IfcTemplatedEntityList< IfcLightDistributionData > list; + typedef aggregate_of< IfcLightDistributionData > list; }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// @@ -11060,13 +10949,13 @@ public: ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; void setLightDistributionCurve(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v); /// Light distribution data applied to the light source. It is defined by a list of main plane angles (B or C according to the light distribution curve chosen) that includes (for each B or C angle) a second list of secondary plane angles (the β or γ angles) and the according luminous intensity distribution measures. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr DistributionData() const; - void setDistributionData(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr DistributionData() const; + void setDistributionData(aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLightIntensityDistribution (IfcEntityInstanceData* e); - IfcLightIntensityDistribution (::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v2_DistributionData); - typedef IfcTemplatedEntityList< IfcLightIntensityDistribution > list; + IfcLightIntensityDistribution (::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v2_DistributionData); + typedef aggregate_of< IfcLightIntensityDistribution > list; }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -11093,38 +10982,28 @@ public: /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the z axis double OrthogonalHeight() const; void setOrthogonalHeight(double v); - /// Whether the optional attribute XAxisAbscissa is defined for this IfcMapConversion - bool hasXAxisAbscissa() const; /// Specifies the value along the easing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis /// NOTE  together with the XAxisOrdinate it provides the direction of the local x axis within the horizontal plane of the map coordinate system - double XAxisAbscissa() const; - void setXAxisAbscissa(double v); - /// Whether the optional attribute XAxisOrdinate is defined for this IfcMapConversion - bool hasXAxisOrdinate() const; + boost::optional< double > XAxisAbscissa() const; + void setXAxisAbscissa(boost::optional< double > v); /// Specifies the value along the northing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the y axis /// NOTE  together with the XAxisAbscissa it provides the direction of the local x axis within the horizontal plane of the map coordinate system - double XAxisOrdinate() const; - void setXAxisOrdinate(double v); - /// Whether the optional attribute Scale is defined for this IfcMapConversion - bool hasScale() const; + boost::optional< double > XAxisOrdinate() const; + void setXAxisOrdinate(boost::optional< double > v); /// Scale to be used, when the units of the CRS are not identical to the units of the engineering coordinate system. If omited, the value of 1.0 is assumed. - double Scale() const; - void setScale(double v); - /// Whether the optional attribute ScaleY is defined for this IfcMapConversion - bool hasScaleY() const; - double ScaleY() const; - void setScaleY(double v); - /// Whether the optional attribute ScaleZ is defined for this IfcMapConversion - bool hasScaleZ() const; - double ScaleZ() const; - void setScaleZ(double v); + boost::optional< double > Scale() const; + void setScale(boost::optional< double > v); + boost::optional< double > ScaleY() const; + void setScaleY(boost::optional< double > v); + boost::optional< double > ScaleZ() const; + void setScaleZ(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMapConversion (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcMapConversion > list; + typedef aggregate_of< IfcMapConversion > list; }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -11134,16 +11013,16 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - IfcEntityList::ptr MaterialClassifications() const; - void setMaterialClassifications(IfcEntityList::ptr v); + aggregate_of_instance::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of_instance::ptr v); /// Material being classified. ::Ifc4x3_rc4::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x3_rc4::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (IfcEntityList::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial); - typedef IfcTemplatedEntityList< IfcMaterialClassificationRelationship > list; + IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial); + typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -11171,14 +11050,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public IfcUtil::IfcBaseEntity { public: - IfcTemplatedEntityList< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - IfcTemplatedEntityList< IfcMaterialProperties >::ptr HasProperties() const; // INVERSE IfcMaterialProperties::Material + aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcMaterialProperties >::ptr HasProperties() const; // INVERSE IfcMaterialProperties::Material virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialDefinition (IfcEntityInstanceData* e); IfcMaterialDefinition (); - typedef IfcTemplatedEntityList< IfcMaterialDefinition > list; + typedef aggregate_of< IfcMaterialDefinition > list; }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -11205,8 +11084,6 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - /// Whether the optional attribute Material is defined for this IfcMaterialLayer - bool hasMaterial() const; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x3_rc4::IfcMaterial* Material() const; void setMaterial(::Ifc4x3_rc4::IfcMaterial* v); @@ -11217,41 +11094,31 @@ public: /// IFC2x4 CHANGE  The attribute datatype has been changed to IfcNonNegativeLengthMeasure allowing for 0. as thickness. double LayerThickness() const; void setLayerThickness(double v); - /// Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer - bool hasIsVentilated() const; /// Indication of whether the material layer represents an air layer (or cavity). /// /// set to TRUE if the material layer is an air gap and provides air exchange from the layer to the outside air. /// set to UNKNOWN if the material layer is an air gap and does not provide air exchange (or when this information about air exchange of the air gap is not available). /// set to FALSE if the material layer is a solid material layer (the default). - bool IsVentilated() const; - void setIsVentilated(bool v); - /// Whether the optional attribute Name is defined for this IfcMaterialLayer - bool hasName() const; + boost::optional< boost::logic::tribool > IsVentilated() const; + void setIsVentilated(boost::optional< boost::logic::tribool > v); /// The name by which the material layer is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialLayer - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Definition of the material layer in more descriptive terms than given by attributes Name or Category. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Category is defined for this IfcMaterialLayer - bool hasCategory() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Category of the material layer, e.g. the role it has in the layer set it belongs to (such as 'load bearing', 'thermal insulation' etc.). - std::string Category() const; - void setCategory(std::string v); - /// Whether the optional attribute Priority is defined for this IfcMaterialLayer - bool hasPriority() const; + boost::optional< std::string > Category() const; + void setCategory(boost::optional< std::string > v); /// The relative priority of the layer, expressed as ratio measure, normalised to 0..1. Controls how layers intersect in connections and corners of building elements: a layer from one element protrudes into (i.e. displaces) a layer from another element in a joint of these elements if the former element's layer has higher priority than the latter. The priorty value for a material layer in an element has to be set and maintained by software applications, in relation to the material layers in connected elements. The usage has to be further specified for each element, especially to avoid simultanious use with IfcLayerOffset. - int Priority() const; - void setPriority(int v); - IfcTemplatedEntityList< IfcMaterialLayerSet >::ptr ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers + boost::optional< int > Priority() const; + void setPriority(boost::optional< int > v); + aggregate_of< IfcMaterialLayerSet >::ptr ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialLayer (IfcEntityInstanceData* e); - IfcMaterialLayer (::Ifc4x3_rc4::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< int > v7_Priority); - typedef IfcTemplatedEntityList< IfcMaterialLayer > list; + IfcMaterialLayer (::Ifc4x3_rc4::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< boost::logic::tribool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< int > v7_Priority); + typedef aggregate_of< IfcMaterialLayer > list; }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -11289,25 +11156,21 @@ public: class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr MaterialLayers() const; - void setMaterialLayers(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v); - /// Whether the optional attribute LayerSetName is defined for this IfcMaterialLayerSet - bool hasLayerSetName() const; + aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr MaterialLayers() const; + void setMaterialLayers(aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v); /// The name by which the material layer set is known. - std::string LayerSetName() const; - void setLayerSetName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialLayerSet - bool hasDescription() const; + boost::optional< std::string > LayerSetName() const; + void setLayerSetName(boost::optional< std::string > v); /// Definition of the material layer set in descriptive terms. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialLayerSet (IfcEntityInstanceData* e); - IfcMaterialLayerSet (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description); - typedef IfcTemplatedEntityList< IfcMaterialLayerSet > list; + IfcMaterialLayerSet (aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description); + typedef aggregate_of< IfcMaterialLayerSet > list; }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -11363,8 +11226,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialLayerWithOffsets (IfcEntityInstanceData* e); - IfcMaterialLayerWithOffsets (::Ifc4x3_rc4::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< int > v7_Priority, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); - typedef IfcTemplatedEntityList< IfcMaterialLayerWithOffsets > list; + IfcMaterialLayerWithOffsets (::Ifc4x3_rc4::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< boost::logic::tribool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< int > v7_Priority, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + typedef aggregate_of< IfcMaterialLayerWithOffsets > list; }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -11386,13 +11249,13 @@ public: class IFC_PARSE_API IfcMaterialList : public IfcUtil::IfcBaseEntity { public: /// Materials used in a composition of substances. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr Materials() const; - void setMaterials(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr Materials() const; + void setMaterials(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialList (IfcEntityInstanceData* e); - IfcMaterialList (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr v1_Materials); - typedef IfcTemplatedEntityList< IfcMaterialList > list; + IfcMaterialList (aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v1_Materials); + typedef aggregate_of< IfcMaterialList > list; }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -11401,40 +11264,30 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - /// Whether the optional attribute Name is defined for this IfcMaterialProfile - bool hasName() const; /// The name by which the material profile is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialProfile - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Definition of the material profile in descriptive terms. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Material is defined for this IfcMaterialProfile - bool hasMaterial() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Optional reference to the material from which the profile is constructed. ::Ifc4x3_rc4::IfcMaterial* Material() const; void setMaterial(::Ifc4x3_rc4::IfcMaterial* v); /// Identification of the profile for which this material profile is associating material. ::Ifc4x3_rc4::IfcProfileDef* Profile() const; void setProfile(::Ifc4x3_rc4::IfcProfileDef* v); - /// Whether the optional attribute Priority is defined for this IfcMaterialProfile - bool hasPriority() const; /// The relative priority of the profile, expressed as ratio measure, normalised to 0..1. Controls how profiles intersect in connections and corners of building elements: a profile from one element protrudes into (i.e. displaces) a profile from another element in a joint of these elements if the former element's profile has higher priority than the latter. The priorty value for a material profile in an element has to be set and maintained by software applications, in relation to the material profiles in connected elements. - int Priority() const; - void setPriority(int v); - /// Whether the optional attribute Category is defined for this IfcMaterialProfile - bool hasCategory() const; + boost::optional< int > Priority() const; + void setPriority(boost::optional< int > v); /// Category of the material profile, e.g. the role it has in the profile set it belongs to. - std::string Category() const; - void setCategory(std::string v); - IfcTemplatedEntityList< IfcMaterialProfileSet >::ptr ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles + boost::optional< std::string > Category() const; + void setCategory(boost::optional< std::string > v); + aggregate_of< IfcMaterialProfileSet >::ptr ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialProfile (IfcEntityInstanceData* e); IfcMaterialProfile (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); - typedef IfcTemplatedEntityList< IfcMaterialProfile > list; + typedef aggregate_of< IfcMaterialProfile > list; }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -11443,21 +11296,15 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - /// Whether the optional attribute Name is defined for this IfcMaterialProfileSet - bool hasName() const; /// The name by which the material profile set is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialProfileSet - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Definition of the material profile set in descriptive terms. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Identification of the profiles from which the material profile set is composed. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr MaterialProfiles() const; - void setMaterialProfiles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr v); - /// Whether the optional attribute CompositeProfile is defined for this IfcMaterialProfileSet - bool hasCompositeProfile() const; + aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr MaterialProfiles() const; + void setMaterialProfiles(aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr v); /// Reference to the composite profile definition for which this material profile set associates material to each of its individual profile. /// /// NOTE   @@ -11467,8 +11314,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialProfileSet (IfcEntityInstanceData* e); - IfcMaterialProfileSet (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc4::IfcCompositeProfileDef* v4_CompositeProfile); - typedef IfcTemplatedEntityList< IfcMaterialProfileSet > list; + 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); + typedef aggregate_of< IfcMaterialProfileSet > list; }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -11484,7 +11331,7 @@ public: static const IfcParse::entity& Class(); IfcMaterialProfileWithOffsets (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcMaterialProfileWithOffsets > list; + typedef aggregate_of< IfcMaterialProfileWithOffsets > list; }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -11519,12 +11366,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public IfcUtil::IfcBaseEntity { public: - IfcTemplatedEntityList< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial + aggregate_of< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialUsageDefinition (IfcEntityInstanceData* e); IfcMaterialUsageDefinition (); - typedef IfcTemplatedEntityList< IfcMaterialUsageDefinition > list; + typedef aggregate_of< IfcMaterialUsageDefinition > list; }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -11548,7 +11395,7 @@ public: static const IfcParse::entity& Class(); IfcMeasureWithUnit (IfcEntityInstanceData* e); IfcMeasureWithUnit (::Ifc4x3_rc4::IfcValue* v1_ValueComponent, ::Ifc4x3_rc4::IfcUnit* v2_UnitComponent); - typedef IfcTemplatedEntityList< IfcMeasureWithUnit > list; + typedef aggregate_of< IfcMeasureWithUnit > list; }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -11607,25 +11454,19 @@ public: /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_rc4::IfcBenchmarkEnum::Value Benchmark() const; void setBenchmark(::Ifc4x3_rc4::IfcBenchmarkEnum::Value v); - /// Whether the optional attribute ValueSource is defined for this IfcMetric - bool hasValueSource() const; /// Reference source for data values. - std::string ValueSource() const; - void setValueSource(std::string v); - /// Whether the optional attribute DataValue is defined for this IfcMetric - bool hasDataValue() const; + boost::optional< std::string > ValueSource() const; + void setValueSource(boost::optional< std::string > v); /// The value with data type defined by the underlying type accesses via IfcMetricValueSelect. ::Ifc4x3_rc4::IfcMetricValueSelect* DataValue() const; void setDataValue(::Ifc4x3_rc4::IfcMetricValueSelect* v); - /// Whether the optional attribute ReferencePath is defined for this IfcMetric - bool hasReferencePath() const; ::Ifc4x3_rc4::IfcReference* ReferencePath() const; void setReferencePath(::Ifc4x3_rc4::IfcReference* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMetric (IfcEntityInstanceData* e); IfcMetric (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc4::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_rc4::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_rc4::IfcReference* v11_ReferencePath); - typedef IfcTemplatedEntityList< IfcMetric > list; + typedef aggregate_of< IfcMetric > list; }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -11641,7 +11482,7 @@ public: static const IfcParse::entity& Class(); IfcMonetaryUnit (IfcEntityInstanceData* e); IfcMonetaryUnit (std::string v1_Currency); - typedef IfcTemplatedEntityList< IfcMonetaryUnit > list; + typedef aggregate_of< IfcMonetaryUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -11660,7 +11501,7 @@ public: static const IfcParse::entity& Class(); IfcNamedUnit (IfcEntityInstanceData* e); IfcNamedUnit (::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType); - typedef IfcTemplatedEntityList< IfcNamedUnit > list; + typedef aggregate_of< IfcNamedUnit > list; }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -11675,16 +11516,14 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute PlacementRelTo is defined for this IfcObjectPlacement - bool hasPlacementRelTo() const; ::Ifc4x3_rc4::IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(::Ifc4x3_rc4::IfcObjectPlacement* v); - IfcTemplatedEntityList< IfcProduct >::ptr PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement + aggregate_of< IfcProduct >::ptr PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcObjectPlacement (IfcEntityInstanceData* e); IfcObjectPlacement (::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo); - typedef IfcTemplatedEntityList< IfcObjectPlacement > list; + typedef aggregate_of< IfcObjectPlacement > list; }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -11697,28 +11536,22 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - /// Whether the optional attribute BenchmarkValues is defined for this IfcObjective - bool hasBenchmarkValues() const; /// A list of any benchmark values used for comparison purposes. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConstraint >::ptr BenchmarkValues() const; - void setBenchmarkValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConstraint >::ptr v); - /// Whether the optional attribute LogicalAggregator is defined for this IfcObjective - bool hasLogicalAggregator() const; - ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value LogicalAggregator() const; - void setLogicalAggregator(::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > BenchmarkValues() const; + void setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > v); + boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > LogicalAggregator() const; + void setLogicalAggregator(boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v); /// Enumeration that qualifies the type of objective constraint. ::Ifc4x3_rc4::IfcObjectiveEnum::Value ObjectiveQualifier() const; void setObjectiveQualifier(::Ifc4x3_rc4::IfcObjectiveEnum::Value v); - /// Whether the optional attribute UserDefinedQualifier is defined for this IfcObjective - bool hasUserDefinedQualifier() const; /// A user defined value that qualifies the type of objective constraint when ObjectiveQualifier attribute of type IfcObjectiveEnum has value USERDEFINED. - std::string UserDefinedQualifier() const; - void setUserDefinedQualifier(std::string v); + boost::optional< std::string > UserDefinedQualifier() const; + void setUserDefinedQualifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcObjective (IfcEntityInstanceData* e); - IfcObjective (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier); - typedef IfcTemplatedEntityList< IfcObjective > list; + IfcObjective (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier); + typedef aggregate_of< IfcObjective > list; }; /// A named and structured grouping with a corporate identity. /// @@ -11730,38 +11563,30 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Identification is defined for this IfcOrganization - bool hasIdentification() const; /// Identification of the organization. - std::string Identification() const; - void setIdentification(std::string v); + boost::optional< std::string > Identification() const; + void setIdentification(boost::optional< std::string > v); /// The word, or group of words, by which the organization is referred to. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcOrganization - bool hasDescription() const; /// Text that relates the nature of the organization. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Roles is defined for this IfcOrganization - bool hasRoles() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Roles played by the organization. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr Roles() const; - void setRoles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr v); - /// Whether the optional attribute Addresses is defined for this IfcOrganization - bool hasAddresses() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Roles() const; + void setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v); /// Postal and telecom addresses of an organization. /// NOTE: There may be several addresses related to an organization. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr Addresses() const; - void setAddresses(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr v); - IfcTemplatedEntityList< IfcOrganizationRelationship >::ptr IsRelatedBy() const; // INVERSE IfcOrganizationRelationship::RelatedOrganizations - IfcTemplatedEntityList< IfcOrganizationRelationship >::ptr Relates() const; // INVERSE IfcOrganizationRelationship::RelatingOrganization - IfcTemplatedEntityList< IfcPersonAndOrganization >::ptr Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Addresses() const; + void setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v); + aggregate_of< IfcOrganizationRelationship >::ptr IsRelatedBy() const; // INVERSE IfcOrganizationRelationship::RelatedOrganizations + aggregate_of< IfcOrganizationRelationship >::ptr Relates() const; // INVERSE IfcOrganizationRelationship::RelatingOrganization + aggregate_of< IfcPersonAndOrganization >::ptr Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOrganization (IfcEntityInstanceData* e); - IfcOrganization (boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr > v5_Addresses); - typedef IfcTemplatedEntityList< IfcOrganization > list; + 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); + typedef aggregate_of< IfcOrganization > list; }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -11781,28 +11606,18 @@ public: /// Direct reference to the application which currently "Owns" this object on behalf of the owning user, who uses this application. Note that IFC includes the concept of ownership transfer from one application to another and therefore distinguishes between the Owning Application and Creating Application. ::Ifc4x3_rc4::IfcApplication* OwningApplication() const; void setOwningApplication(::Ifc4x3_rc4::IfcApplication* v); - /// Whether the optional attribute State is defined for this IfcOwnerHistory - bool hasState() const; /// Enumeration that defines the current access state of the object. - ::Ifc4x3_rc4::IfcStateEnum::Value State() const; - void setState(::Ifc4x3_rc4::IfcStateEnum::Value v); - /// Whether the optional attribute ChangeAction is defined for this IfcOwnerHistory - bool hasChangeAction() const; + boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > State() const; + void setState(boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v); /// Enumeration that defines the actions associated with changes made to the object. - ::Ifc4x3_rc4::IfcChangeActionEnum::Value ChangeAction() const; - void setChangeAction(::Ifc4x3_rc4::IfcChangeActionEnum::Value v); - /// Whether the optional attribute LastModifiedDate is defined for this IfcOwnerHistory - bool hasLastModifiedDate() const; + boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > ChangeAction() const; + void setChangeAction(boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v); /// Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication. - int LastModifiedDate() const; - void setLastModifiedDate(int v); - /// Whether the optional attribute LastModifyingUser is defined for this IfcOwnerHistory - bool hasLastModifyingUser() const; + boost::optional< int > LastModifiedDate() const; + void setLastModifiedDate(boost::optional< int > v); /// User who carried out the last modification using LastModifyingApplication. ::Ifc4x3_rc4::IfcPersonAndOrganization* LastModifyingUser() const; void setLastModifyingUser(::Ifc4x3_rc4::IfcPersonAndOrganization* v); - /// Whether the optional attribute LastModifyingApplication is defined for this IfcOwnerHistory - bool hasLastModifyingApplication() const; /// Application used to make the last modification. ::Ifc4x3_rc4::IfcApplication* LastModifyingApplication() const; void setLastModifyingApplication(::Ifc4x3_rc4::IfcApplication* v); @@ -11813,7 +11628,7 @@ public: static const IfcParse::entity& Class(); IfcOwnerHistory (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcOwnerHistory > list; + typedef aggregate_of< IfcOwnerHistory > list; }; /// Definition: an individual human being. /// @@ -11826,58 +11641,42 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Identification is defined for this IfcPerson - bool hasIdentification() const; /// Identification of the person. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute FamilyName is defined for this IfcPerson - bool hasFamilyName() const; + boost::optional< std::string > Identification() const; + void setIdentification(boost::optional< std::string > v); /// The name by which the family identity of the person may be recognized. /// NOTE: Depending on geographical location and culture, family name may appear either as the first or last component of a name. - std::string FamilyName() const; - void setFamilyName(std::string v); - /// Whether the optional attribute GivenName is defined for this IfcPerson - bool hasGivenName() const; + boost::optional< std::string > FamilyName() const; + void setFamilyName(boost::optional< std::string > v); /// The name by which a person is known within a family and by which he or she may be familiarly recognized. /// NOTE: Depending on geographical location and culture, given name may appear either as the first or last component of a name. - std::string GivenName() const; - void setGivenName(std::string v); - /// Whether the optional attribute MiddleNames is defined for this IfcPerson - bool hasMiddleNames() const; + boost::optional< std::string > GivenName() const; + void setGivenName(boost::optional< std::string > v); /// Additional names given to a person that enable their identification apart from others who may have the same or similar family and given names. /// NOTE: Middle names are not normally used in familiar communication but may be asserted to provide additional /// identification of a particular person if necessary. They may be particularly useful in situations where the person concerned has a /// family name that occurs commonly in the geographical region. - std::vector< std::string > /*[1:?]*/ MiddleNames() const; - void setMiddleNames(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute PrefixTitles is defined for this IfcPerson - bool hasPrefixTitles() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > MiddleNames() const; + void setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names. - std::vector< std::string > /*[1:?]*/ PrefixTitles() const; - void setPrefixTitles(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute SuffixTitles is defined for this IfcPerson - bool hasSuffixTitles() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > PrefixTitles() const; + void setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names. - std::vector< std::string > /*[1:?]*/ SuffixTitles() const; - void setSuffixTitles(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute Roles is defined for this IfcPerson - bool hasRoles() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > SuffixTitles() const; + void setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// Roles played by the person. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr Roles() const; - void setRoles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr v); - /// Whether the optional attribute Addresses is defined for this IfcPerson - bool hasAddresses() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Roles() const; + void setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v); /// Postal and telecommunication addresses of a person. /// NOTE - A person may have several addresses. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr Addresses() const; - void setAddresses(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr v); - IfcTemplatedEntityList< IfcPersonAndOrganization >::ptr EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Addresses() const; + void setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v); + aggregate_of< IfcPersonAndOrganization >::ptr EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPerson (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAddress >::ptr > v8_Addresses); - typedef IfcTemplatedEntityList< IfcPerson > list; + 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); + typedef aggregate_of< IfcPerson > list; }; /// Definition: Identification of a person within an organization. /// @@ -11892,16 +11691,14 @@ public: /// The organization to which the person is related. ::Ifc4x3_rc4::IfcOrganization* TheOrganization() const; void setTheOrganization(::Ifc4x3_rc4::IfcOrganization* v); - /// Whether the optional attribute Roles is defined for this IfcPersonAndOrganization - bool hasRoles() const; /// Roles played by the person within the context of an organization. These may differ from the roles in ThePerson.Roles which may be asserted without organizational context. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr Roles() const; - void setRoles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Roles() const; + void setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPersonAndOrganization (IfcEntityInstanceData* e); - IfcPersonAndOrganization (::Ifc4x3_rc4::IfcPerson* v1_ThePerson, ::Ifc4x3_rc4::IfcOrganization* v2_TheOrganization, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcActorRole >::ptr > v3_Roles); - typedef IfcTemplatedEntityList< IfcPersonAndOrganization > list; + IfcPersonAndOrganization (::Ifc4x3_rc4::IfcPerson* v1_ThePerson, ::Ifc4x3_rc4::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v3_Roles); + typedef aggregate_of< IfcPersonAndOrganization > list; }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -11913,18 +11710,16 @@ public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcPhysicalQuantity - bool hasDescription() const; /// Further explanation that might be given to the quantity. - std::string Description() const; - void setDescription(std::string v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - IfcTemplatedEntityList< IfcPhysicalComplexQuantity >::ptr PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcPhysicalComplexQuantity >::ptr PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPhysicalQuantity (IfcEntityInstanceData* e); IfcPhysicalQuantity (std::string v1_Name, boost::optional< std::string > v2_Description); - typedef IfcTemplatedEntityList< IfcPhysicalQuantity > list; + typedef aggregate_of< IfcPhysicalQuantity > list; }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -11937,8 +11732,6 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - /// Whether the optional attribute Unit is defined for this IfcPhysicalSimpleQuantity - bool hasUnit() const; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x3_rc4::IfcNamedUnit* Unit() const; void setUnit(::Ifc4x3_rc4::IfcNamedUnit* v); @@ -11946,59 +11739,45 @@ public: static const IfcParse::entity& Class(); IfcPhysicalSimpleQuantity (IfcEntityInstanceData* e); IfcPhysicalSimpleQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit); - typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > list; + typedef aggregate_of< IfcPhysicalSimpleQuantity > list; }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - /// Whether the optional attribute InternalLocation is defined for this IfcPostalAddress - bool hasInternalLocation() const; /// An organization defined address for internal mail delivery. - std::string InternalLocation() const; - void setInternalLocation(std::string v); - /// Whether the optional attribute AddressLines is defined for this IfcPostalAddress - bool hasAddressLines() const; + boost::optional< std::string > InternalLocation() const; + void setInternalLocation(boost::optional< std::string > v); /// The postal address. /// NOTE: A postal address may occupy several lines (or elements) when recorded. /// It is expected that normal usage will incorporate relevant elements of the following address concepts: /// A location within a building (e.g. 3rd Floor) Building name (e.g. Interoperability House) Street number /// (e.g. 6400) Street name (e.g. Alliance Boulevard). Typical content of address lines may vary in different /// countries. - std::vector< std::string > /*[1:?]*/ AddressLines() const; - void setAddressLines(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute PostalBox is defined for this IfcPostalAddress - bool hasPostalBox() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > AddressLines() const; + void setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// An address that is implied by an identifiable mail drop. - std::string PostalBox() const; - void setPostalBox(std::string v); - /// Whether the optional attribute Town is defined for this IfcPostalAddress - bool hasTown() const; + boost::optional< std::string > PostalBox() const; + void setPostalBox(boost::optional< std::string > v); /// The name of a town. - std::string Town() const; - void setTown(std::string v); - /// Whether the optional attribute Region is defined for this IfcPostalAddress - bool hasRegion() const; + boost::optional< std::string > Town() const; + void setTown(boost::optional< std::string > v); /// The name of a region. /// NOTE: The counties of the United Kingdom and the states of North America are examples of regions. - std::string Region() const; - void setRegion(std::string v); - /// Whether the optional attribute PostalCode is defined for this IfcPostalAddress - bool hasPostalCode() const; + boost::optional< std::string > Region() const; + void setRegion(boost::optional< std::string > v); /// The code that is used by the country's postal service. - std::string PostalCode() const; - void setPostalCode(std::string v); - /// Whether the optional attribute Country is defined for this IfcPostalAddress - bool hasCountry() const; + boost::optional< std::string > PostalCode() const; + void setPostalCode(boost::optional< std::string > v); /// The name of a country. - std::string Country() const; - void setCountry(std::string v); + boost::optional< std::string > Country() const; + void setCountry(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPostalAddress (IfcEntityInstanceData* e); IfcPostalAddress (boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::string > v4_InternalLocation, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, boost::optional< std::string > v6_PostalBox, boost::optional< std::string > v7_Town, boost::optional< std::string > v8_Region, boost::optional< std::string > v9_PostalCode, boost::optional< std::string > v10_Country); - typedef IfcTemplatedEntityList< IfcPostalAddress > list; + typedef aggregate_of< IfcPostalAddress > list; }; class IFC_PARSE_API IfcPresentationItem : public IfcUtil::IfcBaseEntity { @@ -12007,7 +11786,7 @@ public: static const IfcParse::entity& Class(); IfcPresentationItem (IfcEntityInstanceData* e); IfcPresentationItem (); - typedef IfcTemplatedEntityList< IfcPresentationItem > list; + typedef aggregate_of< IfcPresentationItem > list; }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -12029,24 +11808,20 @@ public: /// Name of the layer. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcPresentationLayerAssignment - bool hasDescription() const; /// Additional description of the layer. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - IfcEntityList::ptr AssignedItems() const; - void setAssignedItems(IfcEntityList::ptr v); - /// Whether the optional attribute Identifier is defined for this IfcPresentationLayerAssignment - bool hasIdentifier() const; + aggregate_of_instance::ptr AssignedItems() const; + void setAssignedItems(aggregate_of_instance::ptr v); /// An (internal) identifier assigned to the layer. - std::string Identifier() const; - void setIdentifier(std::string v); + boost::optional< std::string > Identifier() const; + void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); - typedef IfcTemplatedEntityList< IfcPresentationLayerAssignment > list; + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -12064,26 +11839,26 @@ public: class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. - bool LayerOn() const; - void setLayerOn(bool v); + boost::logic::tribool LayerOn() const; + void setLayerOn(boost::logic::tribool v); /// A logical setting, TRUE indicates that the layer is set to 'Frozen', FALSE that the layer is set to 'Not frozen', UNKNOWN that such information is not available. - bool LayerFrozen() const; - void setLayerFrozen(bool v); + boost::logic::tribool LayerFrozen() const; + void setLayerFrozen(boost::logic::tribool v); /// A logical setting, TRUE indicates that the layer is set to 'Blocked', FALSE that the layer is set to 'Not blocked', UNKNOWN that such information is not available. - bool LayerBlocked() const; - void setLayerBlocked(bool v); + boost::logic::tribool LayerBlocked() const; + void setLayerBlocked(boost::logic::tribool v); /// Assignment of presentation styles to the layer to provide a default style for representation items. /// /// NOTE  In most cases the assignment of styles to a layer is restricted to an IfcCurveStyle representing the layer curve colour, layer curve thickness, and layer curve type. /// /// IFC2x4 CHANGE  The data type has been changed from IfcPresentationStyleSelect (now deprecated) to IfcPresentationStyle. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr LayerStyles() const; - void setLayerStyles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr LayerStyles() const; + void setLayerStyles(aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles); - typedef IfcTemplatedEntityList< IfcPresentationLayerWithStyle > list; + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles); + typedef aggregate_of< IfcPresentationLayerWithStyle > list; }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -12092,16 +11867,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcPresentationStyle - bool hasName() const; /// Name of the presentation style. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationStyle (IfcEntityInstanceData* e); IfcPresentationStyle (boost::optional< std::string > v1_Name); - typedef IfcTemplatedEntityList< IfcPresentationStyle > list; + typedef aggregate_of< IfcPresentationStyle > list; }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -12122,24 +11895,20 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcProductRepresentation - bool hasName() const; /// The word or group of words by which the product representation is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcProductRepresentation - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// The word or group of words that characterize the product representation. It can be used to add additional meaning to the name of the product representation. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentation >::ptr Representations() const; - void setRepresentations(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentation >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr Representations() const; + void setRepresentations(aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProductRepresentation (IfcEntityInstanceData* e); - IfcProductRepresentation (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations); - typedef IfcTemplatedEntityList< IfcProductRepresentation > list; + IfcProductRepresentation (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations); + typedef aggregate_of< IfcProductRepresentation > list; }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -12316,18 +12085,16 @@ public: /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x3_rc4::IfcProfileTypeEnum::Value ProfileType() const; void setProfileType(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v); - /// Whether the optional attribute ProfileName is defined for this IfcProfileDef - bool hasProfileName() const; /// Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference. - std::string ProfileName() const; - void setProfileName(std::string v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - IfcTemplatedEntityList< IfcProfileProperties >::ptr HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition + boost::optional< std::string > ProfileName() const; + void setProfileName(boost::optional< std::string > v); + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcProfileProperties >::ptr HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProfileDef (IfcEntityInstanceData* e); IfcProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName); - typedef IfcTemplatedEntityList< IfcProfileDef > list; + typedef aggregate_of< IfcProfileDef > list; }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -12354,24 +12121,18 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - /// Whether the optional attribute MapProjection is defined for this IfcProjectedCRS - bool hasMapProjection() const; /// Name by which the map projection is identified. /// /// UTM /// Gaus-Krueger - std::string MapProjection() const; - void setMapProjection(std::string v); - /// Whether the optional attribute MapZone is defined for this IfcProjectedCRS - bool hasMapZone() const; + boost::optional< std::string > MapProjection() const; + void setMapProjection(boost::optional< std::string > v); /// Name by which the map zone, relating to the MapProjection, is identified. Examples are /// /// for UTM, the zone number, like 32 for UTM32 /// for Gaus-Krueger, the zones of longitudinal width, like 3' - std::string MapZone() const; - void setMapZone(std::string v); - /// Whether the optional attribute MapUnit is defined for this IfcProjectedCRS - bool hasMapUnit() const; + boost::optional< std::string > MapZone() const; + void setMapZone(boost::optional< std::string > v); /// Unit of the coordinate axes composing the map coordinate system. /// NOTE  Only length measures are in scope and all two or three axes of the map coordinate system shall have the same length unit. ::Ifc4x3_rc4::IfcNamedUnit* MapUnit() const; @@ -12380,17 +12141,17 @@ public: static const IfcParse::entity& Class(); IfcProjectedCRS (IfcEntityInstanceData* e); IfcProjectedCRS (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, ::Ifc4x3_rc4::IfcNamedUnit* v7_MapUnit); - typedef IfcTemplatedEntityList< IfcProjectedCRS > list; + typedef aggregate_of< IfcProjectedCRS > list; }; class IFC_PARSE_API IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { public: - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyAbstraction (IfcEntityInstanceData* e); IfcPropertyAbstraction (); - typedef IfcTemplatedEntityList< IfcPropertyAbstraction > list; + typedef aggregate_of< IfcPropertyAbstraction > list; }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -12444,18 +12205,16 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - IfcEntityList::ptr EnumerationValues() const; - void setEnumerationValues(IfcEntityList::ptr v); - /// Whether the optional attribute Unit is defined for this IfcPropertyEnumeration - bool hasUnit() const; + aggregate_of_instance::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of_instance::ptr v); /// Unit for the enumerator values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. ::Ifc4x3_rc4::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc4::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit); - typedef IfcTemplatedEntityList< IfcPropertyEnumeration > list; + IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit); + typedef aggregate_of< IfcPropertyEnumeration > list; }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -12467,18 +12226,16 @@ public: /// Area measure value of this quantity. double AreaValue() const; void setAreaValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityArea - bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void setFormula(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcQuantityArea (IfcEntityInstanceData* e); IfcQuantityArea (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula); - typedef IfcTemplatedEntityList< IfcQuantityArea > list; + typedef aggregate_of< IfcQuantityArea > list; }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -12490,18 +12247,16 @@ public: /// Count measure value of this quantity. double CountValue() const; void setCountValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityCount - bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void setFormula(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcQuantityCount (IfcEntityInstanceData* e); IfcQuantityCount (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula); - typedef IfcTemplatedEntityList< IfcQuantityCount > list; + typedef aggregate_of< IfcQuantityCount > list; }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -12513,18 +12268,16 @@ public: /// Length measure value of this quantity. double LengthValue() const; void setLengthValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityLength - bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void setFormula(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcQuantityLength (IfcEntityInstanceData* e); IfcQuantityLength (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula); - typedef IfcTemplatedEntityList< IfcQuantityLength > list; + typedef aggregate_of< IfcQuantityLength > list; }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -12536,18 +12289,16 @@ public: /// Time measure value of this quantity. double TimeValue() const; void setTimeValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityTime - bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void setFormula(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcQuantityTime (IfcEntityInstanceData* e); IfcQuantityTime (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula); - typedef IfcTemplatedEntityList< IfcQuantityTime > list; + typedef aggregate_of< IfcQuantityTime > list; }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -12559,18 +12310,16 @@ public: /// Volume measure value of this quantity. double VolumeValue() const; void setVolumeValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityVolume - bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void setFormula(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcQuantityVolume (IfcEntityInstanceData* e); IfcQuantityVolume (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula); - typedef IfcTemplatedEntityList< IfcQuantityVolume > list; + typedef aggregate_of< IfcQuantityVolume > list; }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -12582,18 +12331,16 @@ public: /// Mass measure value of this quantity. double WeightValue() const; void setWeightValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityWeight - bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void setFormula(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcQuantityWeight (IfcEntityInstanceData* e); IfcQuantityWeight (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula); - typedef IfcTemplatedEntityList< IfcQuantityWeight > list; + typedef aggregate_of< IfcQuantityWeight > list; }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -12609,85 +12356,61 @@ public: /// describe the pattern type. ::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value RecurrenceType() const; void setRecurrenceType(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v); - /// Whether the optional attribute DayComponent is defined for this IfcRecurrencePattern - bool hasDayComponent() const; /// The position of the specified day in a month. - std::vector< int > /*[1:?]*/ DayComponent() const; - void setDayComponent(std::vector< int > /*[1:?]*/ v); - /// Whether the optional attribute WeekdayComponent is defined for this IfcRecurrencePattern - bool hasWeekdayComponent() const; + boost::optional< std::vector< int > /*[1:?]*/ > DayComponent() const; + void setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v); /// The weekday name of the specified day in a week. - std::vector< int > /*[1:?]*/ WeekdayComponent() const; - void setWeekdayComponent(std::vector< int > /*[1:?]*/ v); - /// Whether the optional attribute MonthComponent is defined for this IfcRecurrencePattern - bool hasMonthComponent() const; + boost::optional< std::vector< int > /*[1:?]*/ > WeekdayComponent() const; + void setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v); /// The position of the specified month in a year. - std::vector< int > /*[1:?]*/ MonthComponent() const; - void setMonthComponent(std::vector< int > /*[1:?]*/ v); - /// Whether the optional attribute Position is defined for this IfcRecurrencePattern - bool hasPosition() const; + boost::optional< std::vector< int > /*[1:?]*/ > MonthComponent() const; + void setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v); /// The position of the specified component, e.g. the 3rd /// (position=3) Tuesday (weekday component) in a month. A /// negative position value is used to define the last position /// of the component (-1), the next to last position (-2) etc. - int Position() const; - void setPosition(int v); - /// Whether the optional attribute Interval is defined for this IfcRecurrencePattern - bool hasInterval() const; + boost::optional< int > Position() const; + void setPosition(boost::optional< int > v); /// An interval can be given according to the pattern type. An /// interval value of 2 can for instance every two days, weeks, /// months, years. An empty interval value is regarded as 1. The /// used interval values should be in a reasonable range, e.g. /// not 0 or <0. - int Interval() const; - void setInterval(int v); - /// Whether the optional attribute Occurrences is defined for this IfcRecurrencePattern - bool hasOccurrences() const; + boost::optional< int > Interval() const; + void setInterval(boost::optional< int > v); /// Defines the number of occurrences of this pattern, e.g. a weekly /// event might be defined to occur 5 times before it stops. - int Occurrences() const; - void setOccurrences(int v); - /// Whether the optional attribute TimePeriods is defined for this IfcRecurrencePattern - bool hasTimePeriods() const; + boost::optional< int > Occurrences() const; + void setOccurrences(boost::optional< int > v); /// List of time periods that are defined by a start and end time /// of the recurring element (day). The order of the list should /// reflect the sequence of the time periods. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimePeriod >::ptr TimePeriods() const; - void setTimePeriods(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimePeriod >::ptr v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > TimePeriods() const; + void setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRecurrencePattern (IfcEntityInstanceData* e); - IfcRecurrencePattern (::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, boost::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, boost::optional< int > v5_Position, boost::optional< int > v6_Interval, boost::optional< int > v7_Occurrences, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v8_TimePeriods); - typedef IfcTemplatedEntityList< IfcRecurrencePattern > list; + IfcRecurrencePattern (::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, boost::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, boost::optional< int > v5_Position, boost::optional< int > v6_Interval, boost::optional< int > v7_Occurrences, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v8_TimePeriods); + typedef aggregate_of< IfcRecurrencePattern > list; }; class IFC_PARSE_API IfcReference : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute TypeIdentifier is defined for this IfcReference - bool hasTypeIdentifier() const; - std::string TypeIdentifier() const; - void setTypeIdentifier(std::string v); - /// Whether the optional attribute AttributeIdentifier is defined for this IfcReference - bool hasAttributeIdentifier() const; - std::string AttributeIdentifier() const; - void setAttributeIdentifier(std::string v); - /// Whether the optional attribute InstanceName is defined for this IfcReference - bool hasInstanceName() const; - std::string InstanceName() const; - void setInstanceName(std::string v); - /// Whether the optional attribute ListPositions is defined for this IfcReference - bool hasListPositions() const; - std::vector< int > /*[1:?]*/ ListPositions() const; - void setListPositions(std::vector< int > /*[1:?]*/ v); - /// Whether the optional attribute InnerReference is defined for this IfcReference - bool hasInnerReference() const; + boost::optional< std::string > TypeIdentifier() const; + void setTypeIdentifier(boost::optional< std::string > v); + boost::optional< std::string > AttributeIdentifier() const; + void setAttributeIdentifier(boost::optional< std::string > v); + boost::optional< std::string > InstanceName() const; + void setInstanceName(boost::optional< std::string > v); + boost::optional< std::vector< int > /*[1:?]*/ > ListPositions() const; + void setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v); ::Ifc4x3_rc4::IfcReference* InnerReference() const; void setInnerReference(::Ifc4x3_rc4::IfcReference* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReference (IfcEntityInstanceData* e); IfcReference (boost::optional< std::string > v1_TypeIdentifier, boost::optional< std::string > v2_AttributeIdentifier, boost::optional< std::string > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc4::IfcReference* v5_InnerReference); - typedef IfcTemplatedEntityList< IfcReference > list; + typedef aggregate_of< IfcReference > list; }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -12740,28 +12463,24 @@ public: /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc4::IfcRepresentationContext* ContextOfItems() const; void setContextOfItems(::Ifc4x3_rc4::IfcRepresentationContext* v); - /// Whether the optional attribute RepresentationIdentifier is defined for this IfcRepresentation - bool hasRepresentationIdentifier() const; /// The optional identifier of the representation as used within a project. - std::string RepresentationIdentifier() const; - void setRepresentationIdentifier(std::string v); - /// Whether the optional attribute RepresentationType is defined for this IfcRepresentation - bool hasRepresentationType() const; + boost::optional< std::string > RepresentationIdentifier() const; + void setRepresentationIdentifier(boost::optional< std::string > v); /// The description of the type of a representation context. The representation type defines the type of geometry or topology used for representing the product representation. More information is given at the subtypes IfcShapeRepresentation and IfcTopologyRepresentation. /// The supported values for context type are to be specified by implementers agreements. - std::string RepresentationType() const; - void setRepresentationType(std::string v); + boost::optional< std::string > RepresentationType() const; + void setRepresentationType(boost::optional< std::string > v); /// Set of geometric representation items that are defined for this representation. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr Items() const; - void setItems(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v); - IfcTemplatedEntityList< IfcRepresentationMap >::ptr RepresentationMap() const; // INVERSE IfcRepresentationMap::MappedRepresentation - IfcTemplatedEntityList< IfcPresentationLayerAssignment >::ptr LayerAssignments() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems - IfcTemplatedEntityList< IfcProductRepresentation >::ptr OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations + aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr Items() const; + void setItems(aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v); + aggregate_of< IfcRepresentationMap >::ptr RepresentationMap() const; // INVERSE IfcRepresentationMap::MappedRepresentation + aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignments() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems + aggregate_of< IfcProductRepresentation >::ptr OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRepresentation (IfcEntityInstanceData* e); - IfcRepresentation (::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items); - typedef IfcTemplatedEntityList< IfcRepresentation > list; + IfcRepresentation (::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); + typedef aggregate_of< IfcRepresentation > list; }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -12775,22 +12494,18 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute ContextIdentifier is defined for this IfcRepresentationContext - bool hasContextIdentifier() const; /// The optional identifier of the representation context as used within a project. - std::string ContextIdentifier() const; - void setContextIdentifier(std::string v); - /// Whether the optional attribute ContextType is defined for this IfcRepresentationContext - bool hasContextType() const; + boost::optional< std::string > ContextIdentifier() const; + void setContextIdentifier(boost::optional< std::string > v); /// The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements. - std::string ContextType() const; - void setContextType(std::string v); - IfcTemplatedEntityList< IfcRepresentation >::ptr RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems + boost::optional< std::string > ContextType() const; + void setContextType(boost::optional< std::string > v); + aggregate_of< IfcRepresentation >::ptr RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRepresentationContext (IfcEntityInstanceData* e); IfcRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType); - typedef IfcTemplatedEntityList< IfcRepresentationContext > list; + typedef aggregate_of< IfcRepresentationContext > list; }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -12826,13 +12541,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public IfcUtil::IfcBaseEntity { public: - IfcTemplatedEntityList< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems - IfcTemplatedEntityList< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item + aggregate_of< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems + aggregate_of< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRepresentationItem (IfcEntityInstanceData* e); IfcRepresentationItem (); - typedef IfcTemplatedEntityList< IfcRepresentationItem > list; + typedef aggregate_of< IfcRepresentationItem > list; }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -12854,34 +12569,30 @@ public: /// A representation that is mapped to at least one mapped item. ::Ifc4x3_rc4::IfcRepresentation* MappedRepresentation() const; void setMappedRepresentation(::Ifc4x3_rc4::IfcRepresentation* v); - IfcTemplatedEntityList< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape - IfcTemplatedEntityList< IfcMappedItem >::ptr MapUsage() const; // INVERSE IfcMappedItem::MappingSource + aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape + aggregate_of< IfcMappedItem >::ptr MapUsage() const; // INVERSE IfcMappedItem::MappingSource virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRepresentationMap (IfcEntityInstanceData* e); IfcRepresentationMap (::Ifc4x3_rc4::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc4::IfcRepresentation* v2_MappedRepresentation); - typedef IfcTemplatedEntityList< IfcRepresentationMap > list; + typedef aggregate_of< IfcRepresentationMap > list; }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcResourceLevelRelationship - bool hasName() const; /// A name used to identify or qualify the relationship. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcResourceLevelRelationship - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// A description that may apply additional information about the relationship. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceLevelRelationship (IfcEntityInstanceData* e); IfcResourceLevelRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description); - typedef IfcTemplatedEntityList< IfcResourceLevelRelationship > list; + typedef aggregate_of< IfcResourceLevelRelationship > list; }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -12897,8 +12608,6 @@ public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; void setGlobalId(std::string v); - /// Whether the optional attribute OwnerHistory is defined for this IfcRoot - bool hasOwnerHistory() const; /// Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object, /// /// NOTE only the last modification in stored - either as addition, deletion or modification. @@ -12906,21 +12615,17 @@ public: /// IFC2x4 CHANGE  The attribute has been changed to be OPTIONAL. ::Ifc4x3_rc4::IfcOwnerHistory* OwnerHistory() const; void setOwnerHistory(::Ifc4x3_rc4::IfcOwnerHistory* v); - /// Whether the optional attribute Name is defined for this IfcRoot - bool hasName() const; /// Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcRoot - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Optional description, provided for exchanging informative comments. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRoot (IfcEntityInstanceData* e); IfcRoot (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcRoot > list; + typedef aggregate_of< IfcRoot > list; }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -12931,11 +12636,9 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - /// Whether the optional attribute Prefix is defined for this IfcSIUnit - bool hasPrefix() const; /// The SI Prefix for defining decimal multiples and submultiples of the unit. - ::Ifc4x3_rc4::IfcSIPrefix::Value Prefix() const; - void setPrefix(::Ifc4x3_rc4::IfcSIPrefix::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > Prefix() const; + void setPrefix(boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v); /// The word, or group of words, by which the SI unit is referred to. /// /// NOTE  Even though the SI system's base unit for mass is kilogram, the IfcSIUnit for mass is gram if no Prefix is asserted. @@ -12945,34 +12648,28 @@ public: static const IfcParse::entity& Class(); IfcSIUnit (IfcEntityInstanceData* e); IfcSIUnit (::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc4::IfcSIUnitName::Value v4_Name); - typedef IfcTemplatedEntityList< IfcSIUnit > list; + typedef aggregate_of< IfcSIUnit > list; }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcSchedulingTime - bool hasName() const; /// Optional name for the time definition. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute DataOrigin is defined for this IfcSchedulingTime - bool hasDataOrigin() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Specifies the origin of the scheduling time entity. It currently /// differentiates between predicted, simulated, measured, and user defined values. - ::Ifc4x3_rc4::IfcDataOriginEnum::Value DataOrigin() const; - void setDataOrigin(::Ifc4x3_rc4::IfcDataOriginEnum::Value v); - /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcSchedulingTime - bool hasUserDefinedDataOrigin() const; + boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > DataOrigin() const; + void setDataOrigin(boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v); /// Value of the data origin if DataOrigin attribute is USERDEFINED. - std::string UserDefinedDataOrigin() const; - void setUserDefinedDataOrigin(std::string v); + boost::optional< std::string > UserDefinedDataOrigin() const; + void setUserDefinedDataOrigin(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSchedulingTime (IfcEntityInstanceData* e); IfcSchedulingTime (boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin); - typedef IfcTemplatedEntityList< IfcSchedulingTime > list; + typedef aggregate_of< IfcSchedulingTime > list; }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -13015,35 +12712,29 @@ class IFC_PARSE_API IfcShapeAspect : public IfcUtil::IfcBaseEntity { public: /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcShapeModel >::ptr ShapeRepresentations() const; - void setShapeRepresentations(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcShapeModel >::ptr v); - /// Whether the optional attribute Name is defined for this IfcShapeAspect - bool hasName() const; + aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr ShapeRepresentations() const; + void setShapeRepresentations(aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr v); /// The word or group of words by which the shape aspect is known. It is a tag to indicate the particular semantic of a component within the product definition shape, used to provide meaning. Example: use the tag "Glazing" to define which component of a window shape defines the glazing area. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcShapeAspect - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// The word or group of words that characterize the shape aspect. It can be used to add additional meaning to the name of the aspect. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// An indication that the shape aspect is on the physical boundary of the product definition shape. If the value of this attribute is TRUE, it shall be asserted that the shape aspect being identified is on such a boundary. If the value is FALSE, it shall be asserted that the shape aspect being identified is not on such a boundary. If the value is UNKNOWN, it shall be asserted that it is not known whether or not the shape aspect being identified is on such a boundary. /// --- /// EXAMPLE: Would be FALSE for a center line, identified as shape aspect; would be TRUE for a cantilever. /// --- - bool ProductDefinitional() const; - void setProductDefinitional(bool v); - /// Whether the optional attribute PartOfProductDefinitionShape is defined for this IfcShapeAspect - bool hasPartOfProductDefinitionShape() const; + boost::logic::tribool ProductDefinitional() const; + void setProductDefinitional(boost::logic::tribool v); /// Reference to the product definition shape of which this class is an aspect. ::Ifc4x3_rc4::IfcProductRepresentationSelect* PartOfProductDefinitionShape() const; void setPartOfProductDefinitionShape(::Ifc4x3_rc4::IfcProductRepresentationSelect* v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShapeAspect (IfcEntityInstanceData* e); - IfcShapeAspect (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, ::Ifc4x3_rc4::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape); - typedef IfcTemplatedEntityList< IfcShapeAspect > list; + IfcShapeAspect (aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc4::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape); + typedef aggregate_of< IfcShapeAspect > list; }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -13065,12 +12756,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcTemplatedEntityList< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations + aggregate_of< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShapeModel (IfcEntityInstanceData* e); - IfcShapeModel (::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items); - typedef IfcTemplatedEntityList< IfcShapeModel > list; + IfcShapeModel (::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); + typedef aggregate_of< IfcShapeModel > list; }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -13212,40 +12903,36 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShapeRepresentation (IfcEntityInstanceData* e); - IfcShapeRepresentation (::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items); - typedef IfcTemplatedEntityList< IfcShapeRepresentation > list; + IfcShapeRepresentation (::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); + typedef aggregate_of< IfcShapeRepresentation > list; }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcStructuralConnectionCondition - bool hasName() const; /// Optionally defines a name for this connection condition. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralConnectionCondition (IfcEntityInstanceData* e); IfcStructuralConnectionCondition (boost::optional< std::string > v1_Name); - typedef IfcTemplatedEntityList< IfcStructuralConnectionCondition > list; + typedef aggregate_of< IfcStructuralConnectionCondition > list; }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcStructuralLoad - bool hasName() const; /// Optionally defines a name for this load. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoad (IfcEntityInstanceData* e); IfcStructuralLoad (boost::optional< std::string > v1_Name); - typedef IfcTemplatedEntityList< IfcStructuralLoad > list; + typedef aggregate_of< IfcStructuralLoad > list; }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -13261,18 +12948,16 @@ public: class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr Values() const; - void setValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v); - /// Whether the optional attribute Locations is defined for this IfcStructuralLoadConfiguration - bool hasLocations() const; + aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr Values() const; + void setValues(aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v); /// Locations of the load samples or result samples, given within the local coordinate system defined by the instance which uses this resource object. Each item in the list of locations pertains to the values list item at the same list index. This attribute is optional for configurations in which the locations are implicitly known from higher-level definitions. - std::vector< std::vector< double > > Locations() const; - void setLocations(std::vector< std::vector< double > > v); + boost::optional< std::vector< std::vector< double > > > Locations() const; + void setLocations(boost::optional< std::vector< std::vector< double > > > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadConfiguration (IfcEntityInstanceData* e); - IfcStructuralLoadConfiguration (boost::optional< std::string > v1_Name, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations); - typedef IfcTemplatedEntityList< IfcStructuralLoadConfiguration > list; + IfcStructuralLoadConfiguration (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations); + typedef aggregate_of< IfcStructuralLoadConfiguration > list; }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// @@ -13283,7 +12968,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralLoadOrResult (IfcEntityInstanceData* e); IfcStructuralLoadOrResult (boost::optional< std::string > v1_Name); - typedef IfcTemplatedEntityList< IfcStructuralLoadOrResult > list; + typedef aggregate_of< IfcStructuralLoadOrResult > list; }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// @@ -13294,7 +12979,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralLoadStatic (IfcEntityInstanceData* e); IfcStructuralLoadStatic (boost::optional< std::string > v1_Name); - typedef IfcTemplatedEntityList< IfcStructuralLoadStatic > list; + typedef aggregate_of< IfcStructuralLoadStatic > list; }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -13303,32 +12988,26 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute DeltaTConstant is defined for this IfcStructuralLoadTemperature - bool hasDeltaTConstant() const; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// /// A positive value describes an increase in temperature. I.e. a positive constant temperature change causes elongation of a member, or compression in the member if there are respective restraints. - double DeltaTConstant() const; - void setDeltaTConstant(double v); - /// Whether the optional attribute DeltaTY is defined for this IfcStructuralLoadTemperature - bool hasDeltaTY() const; + boost::optional< double > DeltaTConstant() const; + void setDeltaTConstant(boost::optional< double > v); /// Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive y direction minus the temperature change at the outer fibre of the negative y direction of the analysis member. /// /// I.e. a positive non-uniform temperature change in y induces a negative curvature of the member about z, or a positive bending moment about z if there are respective restraints. y and z are local member axes. - double DeltaTY() const; - void setDeltaTY(double v); - /// Whether the optional attribute DeltaTZ is defined for this IfcStructuralLoadTemperature - bool hasDeltaTZ() const; + boost::optional< double > DeltaTY() const; + void setDeltaTY(boost::optional< double > v); /// Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive z direction minus the temperature change at the outer fibre of the negative z direction of the analysis member. /// /// I.e. a positive non-uniform temperature change in z induces a positive curvature of the member about y, or a negative bending moment about y if there are respective restraints. y and z are local member axes. - double DeltaTZ() const; - void setDeltaTZ(double v); + boost::optional< double > DeltaTZ() const; + void setDeltaTZ(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadTemperature (IfcEntityInstanceData* e); IfcStructuralLoadTemperature (boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ); - typedef IfcTemplatedEntityList< IfcStructuralLoadTemperature > list; + typedef aggregate_of< IfcStructuralLoadTemperature > list; }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -13340,8 +13019,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStyleModel (IfcEntityInstanceData* e); - IfcStyleModel (::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items); - typedef IfcTemplatedEntityList< IfcStyleModel > list; + 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); + typedef aggregate_of< IfcStyleModel > list; }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -13373,8 +13052,6 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - /// Whether the optional attribute Item is defined for this IfcStyledItem - bool hasItem() const; /// A geometric representation item to which the style is assigned. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute Item has been made optional. Upward compatibility for file based exchange is guaranteed. @@ -13386,18 +13063,16 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Styles() const; - void setStyles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v); - /// Whether the optional attribute Name is defined for this IfcStyledItem - bool hasName() const; + aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v); /// The word, or group of words, by which the styled item is referred to. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStyledItem (IfcEntityInstanceData* e); - IfcStyledItem (::Ifc4x3_rc4::IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name); - typedef IfcTemplatedEntityList< IfcStyledItem > list; + IfcStyledItem (::Ifc4x3_rc4::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name); + typedef aggregate_of< IfcStyledItem > list; }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -13411,8 +13086,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStyledRepresentation (IfcEntityInstanceData* e); - IfcStyledRepresentation (::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items); - typedef IfcTemplatedEntityList< IfcStyledRepresentation > list; + IfcStyledRepresentation (::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); + typedef aggregate_of< IfcStyledRepresentation > list; }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -13421,26 +13096,20 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - /// Whether the optional attribute SurfaceReinforcement1 is defined for this IfcSurfaceReinforcementArea - bool hasSurfaceReinforcement1() const; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. - std::vector< double > /*[2:3]*/ SurfaceReinforcement1() const; - void setSurfaceReinforcement1(std::vector< double > /*[2:3]*/ v); - /// Whether the optional attribute SurfaceReinforcement2 is defined for this IfcSurfaceReinforcementArea - bool hasSurfaceReinforcement2() const; + boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; + void setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v); /// Reinforcement at the face of the member which is located at the side of the negative local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. - std::vector< double > /*[2:3]*/ SurfaceReinforcement2() const; - void setSurfaceReinforcement2(std::vector< double > /*[2:3]*/ v); - /// Whether the optional attribute ShearReinforcement is defined for this IfcSurfaceReinforcementArea - bool hasShearReinforcement() const; + boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement2() const; + void setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v); /// Shear reinforcement. Specified as area per area, e.g. square metre per square metre (hence ratio measure, i.e. unitless). - double ShearReinforcement() const; - void setShearReinforcement(double v); + boost::optional< double > ShearReinforcement() const; + void setShearReinforcement(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceReinforcementArea (IfcEntityInstanceData* e); IfcSurfaceReinforcementArea (boost::optional< std::string > v1_Name, boost::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, boost::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, boost::optional< double > v4_ShearReinforcement); - typedef IfcTemplatedEntityList< IfcSurfaceReinforcementArea > list; + typedef aggregate_of< IfcSurfaceReinforcementArea > list; }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -13455,13 +13124,13 @@ public: ::Ifc4x3_rc4::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x3_rc4::IfcSurfaceSide::Value v); /// A collection of different surface styles. - IfcEntityList::ptr Styles() const; - void setStyles(IfcEntityList::ptr v); + aggregate_of_instance::ptr Styles() const; + void setStyles(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, IfcEntityList::ptr v3_Styles); - typedef IfcTemplatedEntityList< IfcSurfaceStyle > list; + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -13496,7 +13165,7 @@ public: static const IfcParse::entity& Class(); IfcSurfaceStyleLighting (IfcEntityInstanceData* e); IfcSurfaceStyleLighting (::Ifc4x3_rc4::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_rc4::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_rc4::IfcColourRgb* v4_ReflectanceColour); - typedef IfcTemplatedEntityList< IfcSurfaceStyleLighting > list; + typedef aggregate_of< IfcSurfaceStyleLighting > list; }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -13505,21 +13174,17 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - /// Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction - bool hasRefractionIndex() const; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 - double RefractionIndex() const; - void setRefractionIndex(double v); - /// Whether the optional attribute DispersionFactor is defined for this IfcSurfaceStyleRefraction - bool hasDispersionFactor() const; + boost::optional< double > RefractionIndex() const; + void setRefractionIndex(boost::optional< double > v); /// The Abbe constant given as a fixed ratio between the refractive indices of the material at different wavelengths. A low Abbe number means a high dispersive power. In general this translates to a greater angular spread of the emergent spectrum. - double DispersionFactor() const; - void setDispersionFactor(double v); + boost::optional< double > DispersionFactor() const; + void setDispersionFactor(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyleRefraction (IfcEntityInstanceData* e); IfcSurfaceStyleRefraction (boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor); - typedef IfcTemplatedEntityList< IfcSurfaceStyleRefraction > list; + typedef aggregate_of< IfcSurfaceStyleRefraction > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -13533,15 +13198,13 @@ public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_rc4::IfcColourRgb* SurfaceColour() const; void setSurfaceColour(::Ifc4x3_rc4::IfcColourRgb* v); - /// Whether the optional attribute Transparency is defined for this IfcSurfaceStyleShading - bool hasTransparency() const; - double Transparency() const; - void setTransparency(double v); + boost::optional< double > Transparency() const; + void setTransparency(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyleShading (IfcEntityInstanceData* e); IfcSurfaceStyleShading (::Ifc4x3_rc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency); - typedef IfcTemplatedEntityList< IfcSurfaceStyleShading > list; + typedef aggregate_of< IfcSurfaceStyleShading > list; }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -13564,13 +13227,13 @@ public: class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Textures() const; - void setTextures(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Textures() const; + void setTextures(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyleWithTextures (IfcEntityInstanceData* e); - IfcSurfaceStyleWithTextures (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Textures); - typedef IfcTemplatedEntityList< IfcSurfaceStyleWithTextures > list; + IfcSurfaceStyleWithTextures (aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Textures); + typedef aggregate_of< IfcSurfaceStyleWithTextures > list; }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -13672,39 +13335,33 @@ public: /// The RepeatT field specifies how the texture wraps in the T direction. If RepeatT is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the T direction so that it fills the shape. If RepeatT is FALSE, the texture coordinates are clamped in the T direction to lie within the [0.0, 1.0] range. bool RepeatT() const; void setRepeatT(bool v); - /// Whether the optional attribute Mode is defined for this IfcSurfaceTexture - bool hasMode() const; /// The Mode attribute is provided to control the appearance of a multi textures. The mode then controls the type of blending operation. The mode includes a MODULATE for a lit appearance, a REPLACE for a unlit appearance, and variations of the two. /// /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values. /// /// IFC2x4 CHANGE  New attribute replacing previous TextureType. - std::string Mode() const; - void setMode(std::string v); - /// Whether the optional attribute TextureTransform is defined for this IfcSurfaceTexture - bool hasTextureTransform() const; + boost::optional< std::string > Mode() const; + void setMode(boost::optional< std::string > v); /// The TextureTransform defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation itesm. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. /// /// Mirroring is not allowed to be used in the IfcCarteesianTransformationOperator ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* TextureTransform() const; void setTextureTransform(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v); - /// Whether the optional attribute Parameter is defined for this IfcSurfaceTexture - bool hasParameter() const; /// The Parameter attribute is provided to control the appearance of a multi textures. The applicable parameters depend on the value of the Mode attribute. /// /// NOTE  The applicable values for the list of Parameter attributes are determined by view definitions or implementer agreements. It is recommended to use the source and the function fields described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values. /// By convention, Parameter[1] shall then hold the source value, Parameter[2] the function value, Parameter[3] the base RGB color for select operations, and Parameter[4] the alpha value for select operations. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::vector< std::string > /*[1:?]*/ Parameter() const; - void setParameter(std::vector< std::string > /*[1:?]*/ v); - IfcTemplatedEntityList< IfcTextureCoordinate >::ptr IsMappedBy() const; // INVERSE IfcTextureCoordinate::Maps - IfcTemplatedEntityList< IfcSurfaceStyleWithTextures >::ptr UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures + boost::optional< std::vector< std::string > /*[1:?]*/ > Parameter() const; + void setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v); + aggregate_of< IfcTextureCoordinate >::ptr IsMappedBy() const; // INVERSE IfcTextureCoordinate::Maps + aggregate_of< IfcSurfaceStyleWithTextures >::ptr UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceTexture (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcSurfaceTexture > list; + typedef aggregate_of< IfcSurfaceTexture > list; }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -13723,26 +13380,20 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcTable - bool hasName() const; /// A unique name which is intended to describe the usage of the Table. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Rows is defined for this IfcTable - bool hasRows() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Reference to information content of rows. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableRow >::ptr Rows() const; - void setRows(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableRow >::ptr v); - /// Whether the optional attribute Columns is defined for this IfcTable - bool hasColumns() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > Rows() const; + void setRows(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > v); /// The column information associated with this table. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableColumn >::ptr Columns() const; - void setColumns(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableColumn >::ptr v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > Columns() const; + void setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTable (IfcEntityInstanceData* e); - IfcTable (boost::optional< std::string > v1_Name, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableRow >::ptr > v2_Rows, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTableColumn >::ptr > v3_Columns); - typedef IfcTemplatedEntityList< IfcTable > list; + IfcTable (boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > v3_Columns); + typedef aggregate_of< IfcTable > list; }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -13751,35 +13402,25 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Identifier is defined for this IfcTableColumn - bool hasIdentifier() const; /// Table column identifier. - std::string Identifier() const; - void setIdentifier(std::string v); - /// Whether the optional attribute Name is defined for this IfcTableColumn - bool hasName() const; + boost::optional< std::string > Identifier() const; + void setIdentifier(boost::optional< std::string > v); /// The table column display name. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcTableColumn - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Descriptive text for the table column. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Unit is defined for this IfcTableColumn - bool hasUnit() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// The unit of measure to be used for this column's data. ::Ifc4x3_rc4::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc4::IfcUnit* v); - /// Whether the optional attribute ReferencePath is defined for this IfcTableColumn - bool hasReferencePath() const; ::Ifc4x3_rc4::IfcReference* ReferencePath() const; void setReferencePath(::Ifc4x3_rc4::IfcReference* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableColumn (IfcEntityInstanceData* e); IfcTableColumn (boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc4::IfcUnit* v4_Unit, ::Ifc4x3_rc4::IfcReference* v5_ReferencePath); - typedef IfcTemplatedEntityList< IfcTableColumn > list; + typedef aggregate_of< IfcTableColumn > list; }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -13796,21 +13437,17 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute RowCells is defined for this IfcTableRow - bool hasRowCells() const; /// The data value of the table cell.. - IfcEntityList::ptr RowCells() const; - void setRowCells(IfcEntityList::ptr v); - /// Whether the optional attribute IsHeading is defined for this IfcTableRow - bool hasIsHeading() const; + boost::optional< aggregate_of_instance::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of_instance::ptr > v); /// Flag which identifies if the row is a heading row or a row which contains row values. NOTE - If the row is a heading, the flag takes the value = TRUE. - bool IsHeading() const; - void setIsHeading(bool v); + boost::optional< bool > IsHeading() const; + void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< IfcEntityList::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); - typedef IfcTemplatedEntityList< IfcTableRow > list; + IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -13822,14 +13459,10 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - /// Whether the optional attribute DurationType is defined for this IfcTaskTime - bool hasDurationType() const; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. - ::Ifc4x3_rc4::IfcTaskDurationEnum::Value DurationType() const; - void setDurationType(::Ifc4x3_rc4::IfcTaskDurationEnum::Value v); - /// Whether the optional attribute ScheduleDuration is defined for this IfcTaskTime - bool hasScheduleDuration() const; + boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > DurationType() const; + void setDurationType(boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v); /// The amount of time which is scheduled for completion of a /// task. /// The value might be measured or somehow calculated, which is defined by @@ -13839,57 +13472,41 @@ public: /// /// NOTE: Scheduled Duration may be calculated as the /// time from scheduled start date to scheduled finish date. - std::string ScheduleDuration() const; - void setScheduleDuration(std::string v); - /// Whether the optional attribute ScheduleStart is defined for this IfcTaskTime - bool hasScheduleStart() const; + boost::optional< std::string > ScheduleDuration() const; + void setScheduleDuration(boost::optional< std::string > v); /// The date on which a task is scheduled to be started. /// The value might be measured or somehow calculated, which is defined by /// ScheduleDataOrigin. /// /// NOTE: The scheduled start date must be greater than /// or equal to the earliest start date. - std::string ScheduleStart() const; - void setScheduleStart(std::string v); - /// Whether the optional attribute ScheduleFinish is defined for this IfcTaskTime - bool hasScheduleFinish() const; + boost::optional< std::string > ScheduleStart() const; + void setScheduleStart(boost::optional< std::string > v); /// The date on which a task is scheduled to be finished. /// The value might be measured or somehow calculated, which is defined by /// ScheduleDataOrigin. /// /// NOTE: The scheduled finish date must be greater than /// or equal to the earliest finish date. - std::string ScheduleFinish() const; - void setScheduleFinish(std::string v); - /// Whether the optional attribute EarlyStart is defined for this IfcTaskTime - bool hasEarlyStart() const; + boost::optional< std::string > ScheduleFinish() const; + void setScheduleFinish(boost::optional< std::string > v); /// The earliest date on which a task can be started. It is a calculated value. - std::string EarlyStart() const; - void setEarlyStart(std::string v); - /// Whether the optional attribute EarlyFinish is defined for this IfcTaskTime - bool hasEarlyFinish() const; + boost::optional< std::string > EarlyStart() const; + void setEarlyStart(boost::optional< std::string > v); /// The earliest date on which a task can be finished. It is a calculated value. - std::string EarlyFinish() const; - void setEarlyFinish(std::string v); - /// Whether the optional attribute LateStart is defined for this IfcTaskTime - bool hasLateStart() const; + boost::optional< std::string > EarlyFinish() const; + void setEarlyFinish(boost::optional< std::string > v); /// The latest date on which a task can be started. It is a calculated value. - std::string LateStart() const; - void setLateStart(std::string v); - /// Whether the optional attribute LateFinish is defined for this IfcTaskTime - bool hasLateFinish() const; + boost::optional< std::string > LateStart() const; + void setLateStart(boost::optional< std::string > v); /// The latest date on which a task can be finished. It is a calculated value. - std::string LateFinish() const; - void setLateFinish(std::string v); - /// Whether the optional attribute FreeFloat is defined for this IfcTaskTime - bool hasFreeFloat() const; + boost::optional< std::string > LateFinish() const; + void setLateFinish(boost::optional< std::string > v); /// The amount of time during which the start or finish of a /// task may be varied without any effect on the overall /// programme of work. It is a calculated elapsed time value. - std::string FreeFloat() const; - void setFreeFloat(std::string v); - /// Whether the optional attribute TotalFloat is defined for this IfcTaskTime - bool hasTotalFloat() const; + boost::optional< std::string > FreeFloat() const; + void setFreeFloat(boost::optional< std::string > v); /// The difference between the duration available to carry out /// a task and the scheduled duration of the task. It is a calculated /// elapsed time value. @@ -13900,32 +13517,24 @@ public: /// finish. Float time may be either positive, zero or /// negative. Where it is zero or negative, the task becomes /// critical. - std::string TotalFloat() const; - void setTotalFloat(std::string v); - /// Whether the optional attribute IsCritical is defined for this IfcTaskTime - bool hasIsCritical() const; + boost::optional< std::string > TotalFloat() const; + void setTotalFloat(boost::optional< std::string > v); /// A flag which identifies whether a scheduled task is a /// critical item within the programme. /// /// NOTE: A task becomes critical when the float time /// becomes zero or negative. - bool IsCritical() const; - void setIsCritical(bool v); - /// Whether the optional attribute StatusTime is defined for this IfcTaskTime - bool hasStatusTime() const; + boost::optional< bool > IsCritical() const; + void setIsCritical(boost::optional< bool > v); /// The date or time at which the status of the tasks within /// the schedule is analyzed. - std::string StatusTime() const; - void setStatusTime(std::string v); - /// Whether the optional attribute ActualDuration is defined for this IfcTaskTime - bool hasActualDuration() const; + boost::optional< std::string > StatusTime() const; + void setStatusTime(boost::optional< std::string > v); /// The actual duration of the task. It is a measured value. /// The value is either given as elapsed time or work time, which is defined by /// DurationType. - std::string ActualDuration() const; - void setActualDuration(std::string v); - /// Whether the optional attribute ActualStart is defined for this IfcTaskTime - bool hasActualStart() const; + boost::optional< std::string > ActualDuration() const; + void setActualDuration(boost::optional< std::string > v); /// The date on which a task is actually started. It is a measured value. /// /// NOTE: The scheduled start date must be greater than @@ -13933,15 +13542,11 @@ public: /// applied to the actual start date with respect to the /// scheduled start date since a task may be started earlier /// than had originally been scheduled if circumstances allow. - std::string ActualStart() const; - void setActualStart(std::string v); - /// Whether the optional attribute ActualFinish is defined for this IfcTaskTime - bool hasActualFinish() const; + boost::optional< std::string > ActualStart() const; + void setActualStart(boost::optional< std::string > v); /// The date on which a task is actually finished. - std::string ActualFinish() const; - void setActualFinish(std::string v); - /// Whether the optional attribute RemainingTime is defined for this IfcTaskTime - bool hasRemainingTime() const; + boost::optional< std::string > ActualFinish() const; + void setActualFinish(boost::optional< std::string > v); /// The amount of time remaining to complete a task. It is a predicted value. /// The value is either given as elapsed time or work time, which is defined by /// DurationType. @@ -13953,19 +13558,17 @@ public: /// task already started, remaining time is calculated as the /// difference between the scheduled finish and the point of /// analysis. - std::string RemainingTime() const; - void setRemainingTime(std::string v); - /// Whether the optional attribute Completion is defined for this IfcTaskTime - bool hasCompletion() const; + boost::optional< std::string > RemainingTime() const; + void setRemainingTime(boost::optional< std::string > v); /// The extent of completion expressed as a ratio or percentage. /// It is a measured value. - double Completion() const; - void setCompletion(double v); + boost::optional< double > Completion() const; + void setCompletion(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTaskTime (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcTaskTime > list; + typedef aggregate_of< IfcTaskTime > list; }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// @@ -13978,7 +13581,7 @@ public: static const IfcParse::entity& Class(); IfcTaskTimeRecurring (IfcEntityInstanceData* e); IfcTaskTimeRecurring (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, ::Ifc4x3_rc4::IfcRecurrencePattern* v21_Recurrence); - typedef IfcTemplatedEntityList< IfcTaskTimeRecurring > list; + typedef aggregate_of< IfcTaskTimeRecurring > list; }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -13988,44 +13591,32 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress - bool hasTelephoneNumbers() const; /// The list of telephone numbers at which telephone messages may be received. - std::vector< std::string > /*[1:?]*/ TelephoneNumbers() const; - void setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute FacsimileNumbers is defined for this IfcTelecomAddress - bool hasFacsimileNumbers() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; + void setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The list of fax numbers at which fax messages may be received. - std::vector< std::string > /*[1:?]*/ FacsimileNumbers() const; - void setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute PagerNumber is defined for this IfcTelecomAddress - bool hasPagerNumber() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > FacsimileNumbers() const; + void setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The pager number at which paging messages may be received. - std::string PagerNumber() const; - void setPagerNumber(std::string v); - /// Whether the optional attribute ElectronicMailAddresses is defined for this IfcTelecomAddress - bool hasElectronicMailAddresses() const; + boost::optional< std::string > PagerNumber() const; + void setPagerNumber(boost::optional< std::string > v); /// The list of Email addresses at which Email messages may be received. - std::vector< std::string > /*[1:?]*/ ElectronicMailAddresses() const; - void setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute WWWHomePageURL is defined for this IfcTelecomAddress - bool hasWWWHomePageURL() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > ElectronicMailAddresses() const; + void setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The world wide web address at which the preliminary page of information for the person or organization can be located. /// NOTE: Information on the world wide web for a person or organization may be separated /// into a number of pages and across a number of host sites, all of which may be linked together. It is assumed that /// all such information may be referenced from a single page that is termed the home page for that person or organization. - std::string WWWHomePageURL() const; - void setWWWHomePageURL(std::string v); - /// Whether the optional attribute MessagingIDs is defined for this IfcTelecomAddress - bool hasMessagingIDs() const; + boost::optional< std::string > WWWHomePageURL() const; + void setWWWHomePageURL(boost::optional< std::string > v); /// IDs or addresses for any other means of telecommunication, for example instant messaging, voice-over-IP, or file transfer protocols. The communication protocol is indicated by the URI value with scheme designations such as irc:, sip:, or ftp:. - std::vector< std::string > /*[1:?]*/ MessagingIDs() const; - void setMessagingIDs(std::vector< std::string > /*[1:?]*/ v); + boost::optional< std::vector< std::string > /*[1:?]*/ > MessagingIDs() const; + void setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTelecomAddress (IfcEntityInstanceData* e); IfcTelecomAddress (boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< std::string > v6_PagerNumber, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< std::string > v8_WWWHomePageURL, boost::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); - typedef IfcTemplatedEntityList< IfcTelecomAddress > list; + typedef aggregate_of< IfcTelecomAddress > list; }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -14057,13 +13648,9 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle - bool hasTextCharacterAppearance() const; /// A character style to be used for presented text. ::Ifc4x3_rc4::IfcTextStyleForDefinedFont* TextCharacterAppearance() const; void setTextCharacterAppearance(::Ifc4x3_rc4::IfcTextStyleForDefinedFont* v); - /// Whether the optional attribute TextStyle is defined for this IfcTextStyle - bool hasTextStyle() const; /// The style applied to the text block for its visual appearance. /// It defines the text block characteristics, either for vector based or monospace text fonts (see select item IfcTextStyleWithBoxCharacteristics), or for true type text fonts (see select item IfcTextStyleTextModel. /// @@ -14076,15 +13663,13 @@ public: /// IFC2x Edition 2 Addendum 2 CHANGE The attribute TextFontStyle is a new attribute attached to IfcTextStyle. ::Ifc4x3_rc4::IfcTextFontSelect* TextFontStyle() const; void setTextFontStyle(::Ifc4x3_rc4::IfcTextFontSelect* v); - /// Whether the optional attribute ModelOrDraughting is defined for this IfcTextStyle - bool hasModelOrDraughting() const; - bool ModelOrDraughting() const; - void setModelOrDraughting(bool v); + boost::optional< bool > ModelOrDraughting() const; + void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTextStyle (IfcEntityInstanceData* e); IfcTextStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_rc4::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_rc4::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting); - typedef IfcTemplatedEntityList< IfcTextStyle > list; + typedef aggregate_of< IfcTextStyle > list; }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -14108,8 +13693,6 @@ public: /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_rc4::IfcColour* Colour() const; void setColour(::Ifc4x3_rc4::IfcColour* v); - /// Whether the optional attribute BackgroundColour is defined for this IfcTextStyleForDefinedFont - bool hasBackgroundColour() const; /// This property sets the background color of an element. ::Ifc4x3_rc4::IfcColour* BackgroundColour() const; void setBackgroundColour(::Ifc4x3_rc4::IfcColour* v); @@ -14117,7 +13700,7 @@ public: static const IfcParse::entity& Class(); IfcTextStyleForDefinedFont (IfcEntityInstanceData* e); IfcTextStyleForDefinedFont (::Ifc4x3_rc4::IfcColour* v1_Colour, ::Ifc4x3_rc4::IfcColour* v2_BackgroundColour); - typedef IfcTemplatedEntityList< IfcTextStyleForDefinedFont > list; + typedef aggregate_of< IfcTextStyleForDefinedFont > list; }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -14128,42 +13711,28 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - /// Whether the optional attribute TextIndent is defined for this IfcTextStyleTextModel - bool hasTextIndent() const; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. ::Ifc4x3_rc4::IfcSizeSelect* TextIndent() const; void setTextIndent(::Ifc4x3_rc4::IfcSizeSelect* v); - /// Whether the optional attribute TextAlign is defined for this IfcTextStyleTextModel - bool hasTextAlign() const; /// This property describes how text is aligned horizontally within the element. The actual justification algorithm used is dependent on the rendering algorithm. - std::string TextAlign() const; - void setTextAlign(std::string v); - /// Whether the optional attribute TextDecoration is defined for this IfcTextStyleTextModel - bool hasTextDecoration() const; + boost::optional< std::string > TextAlign() const; + void setTextAlign(boost::optional< std::string > v); /// This property describes decorations that are added to the text of an element. - std::string TextDecoration() const; - void setTextDecoration(std::string v); - /// Whether the optional attribute LetterSpacing is defined for this IfcTextStyleTextModel - bool hasLetterSpacing() const; + boost::optional< std::string > TextDecoration() const; + void setTextDecoration(boost::optional< std::string > v); /// The length unit indicates an addition to the default space between characters. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The letter spacing may also be influenced by justification (which is a value of the 'align' property). /// NOTE  The following values are allowed, IfcDescriptiveMeasure with value='normal', or IfcLengthMeasure, the length unit is globally defined at IfcUnitAssignment. ::Ifc4x3_rc4::IfcSizeSelect* LetterSpacing() const; void setLetterSpacing(::Ifc4x3_rc4::IfcSizeSelect* v); - /// Whether the optional attribute WordSpacing is defined for this IfcTextStyleTextModel - bool hasWordSpacing() const; /// The length unit indicates an addition to the default space between words. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The word spacing may also be influenced by justification (which is a value of the 'text-align' property). /// NOTE  It has been introduced for later compliance to full CSS1 support. ::Ifc4x3_rc4::IfcSizeSelect* WordSpacing() const; void setWordSpacing(::Ifc4x3_rc4::IfcSizeSelect* v); - /// Whether the optional attribute TextTransform is defined for this IfcTextStyleTextModel - bool hasTextTransform() const; /// This property describes how text characters may transform to upper case, lower case, or capitalized case, independent of the character case used in the text literal. /// NOTE  It has been introduced for later compliance to full CSS1 support. - std::string TextTransform() const; - void setTextTransform(std::string v); - /// Whether the optional attribute LineHeight is defined for this IfcTextStyleTextModel - bool hasLineHeight() const; + boost::optional< std::string > TextTransform() const; + void setTextTransform(boost::optional< std::string > v); /// The property sets the distance between two adjacent lines' baselines. /// When a ratio value is specified, the line height is given by the font size of the current element multiplied with the numerical value. A value of 'normal' sets the line height to a reasonable value for the element's font. It is suggested that user agents set the 'normal' value to be a ratio number in the range of 1.0 to 1.2. /// NOTE  The following values are allowed: IfcDescriptiveMeasure with value='normal', or @@ -14174,7 +13743,7 @@ public: static const IfcParse::entity& Class(); IfcTextStyleTextModel (IfcEntityInstanceData* e); IfcTextStyleTextModel (::Ifc4x3_rc4::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc4::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_rc4::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_rc4::IfcSizeSelect* v7_LineHeight); - typedef IfcTemplatedEntityList< IfcTextStyleTextModel > list; + typedef aggregate_of< IfcTextStyleTextModel > list; }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -14189,13 +13758,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Maps() const; - void setMaps(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Maps() const; + void setMaps(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTextureCoordinate (IfcEntityInstanceData* e); - IfcTextureCoordinate (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps); - typedef IfcTemplatedEntityList< IfcTextureCoordinate > list; + IfcTextureCoordinate (aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps); + typedef aggregate_of< IfcTextureCoordinate > list; }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -14230,18 +13799,16 @@ public: /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.8 TextureCoordinateGenerator for recommended values. std::string Mode() const; void setMode(std::string v); - /// Whether the optional attribute Parameter is defined for this IfcTextureCoordinateGenerator - bool hasParameter() const; /// The parameters used as arguments by the function as specified by Mode. /// /// IFC2x4 CHANGE  Made optional data type restricted to REAL. - std::vector< double > /*[1:?]*/ Parameter() const; - void setParameter(std::vector< double > /*[1:?]*/ v); + boost::optional< std::vector< double > /*[1:?]*/ > Parameter() const; + void setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTextureCoordinateGenerator (IfcEntityInstanceData* e); - IfcTextureCoordinateGenerator (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); - typedef IfcTemplatedEntityList< IfcTextureCoordinateGenerator > list; + IfcTextureCoordinateGenerator (aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + typedef aggregate_of< IfcTextureCoordinateGenerator > list; }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -14299,15 +13866,15 @@ public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// /// NOTE  The corresponding face bound may be an inner loop. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTextureVertex >::ptr Vertices() const; - void setVertices(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTextureVertex >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcTextureVertex >::ptr Vertices() const; + void setVertices(aggregate_of< ::Ifc4x3_rc4::IfcTextureVertex >::ptr v); ::Ifc4x3_rc4::IfcFace* MappedTo() const; void setMappedTo(::Ifc4x3_rc4::IfcFace* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTextureMap (IfcEntityInstanceData* e); - IfcTextureMap (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc4::IfcFace* v3_MappedTo); - typedef IfcTemplatedEntityList< IfcTextureMap > list; + IfcTextureMap (aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_rc4::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc4::IfcFace* v3_MappedTo); + typedef aggregate_of< IfcTextureMap > list; }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -14345,7 +13912,7 @@ public: static const IfcParse::entity& Class(); IfcTextureVertex (IfcEntityInstanceData* e); IfcTextureVertex (std::vector< double > /*[2:2]*/ v1_Coordinates); - typedef IfcTemplatedEntityList< IfcTextureVertex > list; + typedef aggregate_of< IfcTextureVertex > list; }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { @@ -14356,7 +13923,7 @@ public: static const IfcParse::entity& Class(); IfcTextureVertexList (IfcEntityInstanceData* e); IfcTextureVertexList (std::vector< std::vector< double > > v1_TexCoordsList); - typedef IfcTemplatedEntityList< IfcTextureVertexList > list; + typedef aggregate_of< IfcTextureVertexList > list; }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -14376,7 +13943,7 @@ public: static const IfcParse::entity& Class(); IfcTimePeriod (IfcEntityInstanceData* e); IfcTimePeriod (std::string v1_StartTime, std::string v2_EndTime); - typedef IfcTemplatedEntityList< IfcTimePeriod > list; + typedef aggregate_of< IfcTimePeriod > list; }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -14388,11 +13955,9 @@ public: /// An unique name for the time series. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcTimeSeries - bool hasDescription() const; /// A text description of the data that the series represents. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// The start time of a time series. std::string StartTime() const; void setStartTime(std::string v); @@ -14405,22 +13970,18 @@ public: /// The orgin of a time series data. ::Ifc4x3_rc4::IfcDataOriginEnum::Value DataOrigin() const; void setDataOrigin(::Ifc4x3_rc4::IfcDataOriginEnum::Value v); - /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcTimeSeries - bool hasUserDefinedDataOrigin() const; /// Value of the data origin if DataOrigin attribute is USERDEFINED. - std::string UserDefinedDataOrigin() const; - void setUserDefinedDataOrigin(std::string v); - /// Whether the optional attribute Unit is defined for this IfcTimeSeries - bool hasUnit() const; + boost::optional< std::string > UserDefinedDataOrigin() const; + void setUserDefinedDataOrigin(boost::optional< std::string > v); /// The unit to be assigned to all values within the time series. Note that mixing units is not allowed. If the value is not given, the global unit for the type of IfcValue, as defined at IfcProject.UnitsInContext is used. ::Ifc4x3_rc4::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc4::IfcUnit* v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeries (IfcEntityInstanceData* e); IfcTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit); - typedef IfcTemplatedEntityList< IfcTimeSeries > list; + typedef aggregate_of< IfcTimeSeries > list; }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -14434,13 +13995,13 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - IfcEntityList::ptr ListValues() const; - void setListValues(IfcEntityList::ptr v); + aggregate_of_instance::ptr ListValues() const; + void setListValues(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (IfcEntityList::ptr v1_ListValues); - typedef IfcTemplatedEntityList< IfcTimeSeriesValue > list; + IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -14453,7 +14014,7 @@ public: static const IfcParse::entity& Class(); IfcTopologicalRepresentationItem (IfcEntityInstanceData* e); IfcTopologicalRepresentationItem (); - typedef IfcTemplatedEntityList< IfcTopologicalRepresentationItem > list; + typedef aggregate_of< IfcTopologicalRepresentationItem > list; }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -14494,8 +14055,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTopologyRepresentation (IfcEntityInstanceData* e); - IfcTopologyRepresentation (::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items); - typedef IfcTemplatedEntityList< IfcTopologyRepresentation > list; + IfcTopologyRepresentation (::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); + typedef aggregate_of< IfcTopologyRepresentation > list; }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -14505,13 +14066,13 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - IfcEntityList::ptr Units() const; - void setUnits(IfcEntityList::ptr v); + aggregate_of_instance::ptr Units() const; + void setUnits(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (IfcEntityList::ptr v1_Units); - typedef IfcTemplatedEntityList< IfcUnitAssignment > list; + IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -14529,7 +14090,7 @@ public: static const IfcParse::entity& Class(); IfcVertex (IfcEntityInstanceData* e); IfcVertex (); - typedef IfcTemplatedEntityList< IfcVertex > list; + typedef aggregate_of< IfcVertex > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -14549,7 +14110,7 @@ public: static const IfcParse::entity& Class(); IfcVertexPoint (IfcEntityInstanceData* e); IfcVertexPoint (::Ifc4x3_rc4::IfcPoint* v1_VertexGeometry); - typedef IfcTemplatedEntityList< IfcVertexPoint > list; + typedef aggregate_of< IfcVertexPoint > list; }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -14613,16 +14174,16 @@ public: class IFC_PARSE_API IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { public: /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr IntersectingAxes() const; - void setIntersectingAxes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr IntersectingAxes() const; + void setIntersectingAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v); /// Offset distances to the grid axes. If given, it defines virtual offset curves to the grid axes. The intersection of the offset curves specify the virtual grid intersection. std::vector< double > /*[2:3]*/ OffsetDistances() const; void setOffsetDistances(std::vector< double > /*[2:3]*/ v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcVirtualGridIntersection (IfcEntityInstanceData* e); - IfcVirtualGridIntersection (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); - typedef IfcTemplatedEntityList< IfcVirtualGridIntersection > list; + IfcVirtualGridIntersection (aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + typedef aggregate_of< IfcVirtualGridIntersection > list; }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -14634,30 +14195,24 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - /// Whether the optional attribute RecurrencePattern is defined for this IfcWorkTime - bool hasRecurrencePattern() const; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by /// IfcWorkTime.Start and IfcWorkTime.Finish. ::Ifc4x3_rc4::IfcRecurrencePattern* RecurrencePattern() const; void setRecurrencePattern(::Ifc4x3_rc4::IfcRecurrencePattern* v); - /// Whether the optional attribute Start is defined for this IfcWorkTime - bool hasStart() const; /// Start date of the work time (0:00), that might be further /// restricted by a recurrence pattern. - std::string Start() const; - void setStart(std::string v); - /// Whether the optional attribute Finish is defined for this IfcWorkTime - bool hasFinish() const; + boost::optional< std::string > Start() const; + void setStart(boost::optional< std::string > v); /// End date of the work time (24:00), that might be further /// restricted by a recurrence pattern. - std::string Finish() const; - void setFinish(std::string v); + boost::optional< std::string > Finish() const; + void setFinish(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWorkTime (IfcEntityInstanceData* e); IfcWorkTime (boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish); - typedef IfcTemplatedEntityList< IfcWorkTime > list; + typedef aggregate_of< IfcWorkTime > list; }; class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { @@ -14668,23 +14223,19 @@ public: void setHorizontalLength(double v); double StartCantLeft() const; void setStartCantLeft(double v); - /// Whether the optional attribute EndCantLeft is defined for this IfcAlignmentCantSegment - bool hasEndCantLeft() const; - double EndCantLeft() const; - void setEndCantLeft(double v); + boost::optional< double > EndCantLeft() const; + void setEndCantLeft(boost::optional< double > v); double StartCantRight() const; void setStartCantRight(double v); - /// Whether the optional attribute EndCantRight is defined for this IfcAlignmentCantSegment - bool hasEndCantRight() const; - double EndCantRight() const; - void setEndCantRight(double v); + boost::optional< double > EndCantRight() const; + void setEndCantRight(boost::optional< double > v); ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAlignmentCantSegment (IfcEntityInstanceData* e); 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, ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcAlignmentCantSegment > list; + typedef aggregate_of< IfcAlignmentCantSegment > list; }; class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { @@ -14699,17 +14250,15 @@ public: void setEndRadiusOfCurvature(double v); double SegmentLength() const; void setSegmentLength(double v); - /// Whether the optional attribute GravityCenterLineHeight is defined for this IfcAlignmentHorizontalSegment - bool hasGravityCenterLineHeight() const; - double GravityCenterLineHeight() const; - void setGravityCenterLineHeight(double v); + boost::optional< double > GravityCenterLineHeight() const; + void setGravityCenterLineHeight(boost::optional< double > v); ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAlignmentHorizontalSegment (IfcEntityInstanceData* e); IfcAlignmentHorizontalSegment (boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_rc4::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcAlignmentHorizontalSegment > list; + typedef aggregate_of< IfcAlignmentHorizontalSegment > list; }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -14724,13 +14273,13 @@ public: ::Ifc4x3_rc4::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v); /// The approvals that are related to another (relating) approval.IFC2x Edition 4 CHANGE The cardinality of this attribute has been changed to SET. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcApproval >::ptr RelatedApprovals() const; - void setRelatedApprovals(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcApproval >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcApproval >::ptr RelatedApprovals() const; + void setRelatedApprovals(aggregate_of< ::Ifc4x3_rc4::IfcApproval >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcApprovalRelationship (IfcEntityInstanceData* e); - IfcApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcApproval* v3_RelatingApproval, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcApproval >::ptr v4_RelatedApprovals); - typedef IfcTemplatedEntityList< IfcApprovalRelationship > list; + 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); + typedef aggregate_of< IfcApprovalRelationship > list; }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -14759,7 +14308,7 @@ public: static const IfcParse::entity& Class(); IfcArbitraryClosedProfileDef (IfcEntityInstanceData* e); IfcArbitraryClosedProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve* v3_OuterCurve); - typedef IfcTemplatedEntityList< IfcArbitraryClosedProfileDef > list; + typedef aggregate_of< IfcArbitraryClosedProfileDef > list; }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -14785,7 +14334,7 @@ public: static const IfcParse::entity& Class(); IfcArbitraryOpenProfileDef (IfcEntityInstanceData* e); IfcArbitraryOpenProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve* v3_Curve); - typedef IfcTemplatedEntityList< IfcArbitraryOpenProfileDef > list; + typedef aggregate_of< IfcArbitraryOpenProfileDef > list; }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -14809,13 +14358,13 @@ public: class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr InnerCurves() const; - void setInnerCurves(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr InnerCurves() const; + void setInnerCurves(aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcArbitraryProfileDefWithVoids (IfcEntityInstanceData* e); - IfcArbitraryProfileDefWithVoids (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr v4_InnerCurves); - typedef IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids > list; + IfcArbitraryProfileDefWithVoids (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v4_InnerCurves); + typedef aggregate_of< IfcArbitraryProfileDefWithVoids > list; }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -14838,7 +14387,7 @@ public: static const IfcParse::entity& Class(); IfcBlobTexture (IfcEntityInstanceData* e); IfcBlobTexture (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_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); - typedef IfcTemplatedEntityList< IfcBlobTexture > list; + typedef aggregate_of< IfcBlobTexture > list; }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -14878,7 +14427,7 @@ public: static const IfcParse::entity& Class(); IfcCenterLineProfileDef (IfcEntityInstanceData* e); IfcCenterLineProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve* v3_Curve, double v4_Thickness); - typedef IfcTemplatedEntityList< IfcCenterLineProfileDef > list; + typedef aggregate_of< IfcCenterLineProfileDef > list; }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -14897,52 +14446,40 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - /// Whether the optional attribute Source is defined for this IfcClassification - bool hasSource() const; /// Source (or publisher) for this classification. /// /// NOTE that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher. - std::string Source() const; - void setSource(std::string v); - /// Whether the optional attribute Edition is defined for this IfcClassification - bool hasEdition() const; + boost::optional< std::string > Source() const; + void setSource(boost::optional< std::string > v); /// The edition or version of the classification system from which the classification notation is derived. /// /// NOTE the version labeling system is specific to the classification system. /// /// IFC2x4 CHANGE The attribute has been changed to be optional. - std::string Edition() const; - void setEdition(std::string v); - /// Whether the optional attribute EditionDate is defined for this IfcClassification - bool hasEditionDate() const; + boost::optional< std::string > Edition() const; + void setEdition(boost::optional< std::string > v); /// The date on which the edition of the classification used became valid. /// /// NOTE The indication of edition may be sufficient to identify the classification source uniquely but the edition date is provided as an optional attribute to enable more precise identification where required. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - std::string EditionDate() const; - void setEditionDate(std::string v); + boost::optional< std::string > EditionDate() const; + void setEditionDate(boost::optional< std::string > v); /// The name or label by which the classification used is normally known. /// /// NOTE Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcClassification - bool hasDescription() const; /// Additional description provided for the classification. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Location is defined for this IfcClassification - bool hasLocation() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Resource identifier or locator, provided as URI, URN or URL, of the classification. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Location() const; - void setLocation(std::string v); - /// Whether the optional attribute ReferenceTokens is defined for this IfcClassification - bool hasReferenceTokens() const; + boost::optional< std::string > Location() const; + void setLocation(boost::optional< std::string > v); /// The delimiter tokens that are used to mark the boundaries of individual facets (substrings) in a classification reference. /// /// This typically applies then the IfcClassification is used in @@ -14955,15 +14492,15 @@ public: /// EXAMPLE 2  The use of ReferenceTokens can also be extended to include masks. The use need to be agreed in view definitions or implementer agreements that stipulates a "mask syntax" that should be used. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::vector< std::string > /*[1:?]*/ ReferenceTokens() const; - void setReferenceTokens(std::vector< std::string > /*[1:?]*/ v); - IfcTemplatedEntityList< IfcRelAssociatesClassification >::ptr ClassificationForObjects() const; // INVERSE IfcRelAssociatesClassification::RelatingClassification - IfcTemplatedEntityList< IfcClassificationReference >::ptr HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource + boost::optional< std::vector< std::string > /*[1:?]*/ > ReferenceTokens() const; + void setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v); + aggregate_of< IfcRelAssociatesClassification >::ptr ClassificationForObjects() const; // INVERSE IfcRelAssociatesClassification::RelatingClassification + aggregate_of< IfcClassificationReference >::ptr HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcClassification (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcClassification > list; + typedef aggregate_of< IfcClassification > list; }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -14988,29 +14525,23 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - /// Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference - bool hasReferencedSource() const; /// The classification system or source that is referenced. ::Ifc4x3_rc4::IfcClassificationReferenceSelect* ReferencedSource() const; void setReferencedSource(::Ifc4x3_rc4::IfcClassificationReferenceSelect* v); - /// Whether the optional attribute Description is defined for this IfcClassificationReference - bool hasDescription() const; /// Description of the classification reference for informational purposes. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Sort is defined for this IfcClassificationReference - bool hasSort() const; - std::string Sort() const; - void setSort(std::string v); - IfcTemplatedEntityList< IfcRelAssociatesClassification >::ptr ClassificationRefForObjects() const; // INVERSE IfcRelAssociatesClassification::RelatingClassification - IfcTemplatedEntityList< IfcClassificationReference >::ptr HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); + boost::optional< std::string > Sort() const; + void setSort(boost::optional< std::string > v); + aggregate_of< IfcRelAssociatesClassification >::ptr ClassificationRefForObjects() const; // INVERSE IfcRelAssociatesClassification::RelatingClassification + aggregate_of< IfcClassificationReference >::ptr HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcClassificationReference (IfcEntityInstanceData* e); IfcClassificationReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_rc4::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort); - typedef IfcTemplatedEntityList< IfcClassificationReference > list; + typedef aggregate_of< IfcClassificationReference > list; }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { @@ -15021,7 +14552,7 @@ public: static const IfcParse::entity& Class(); IfcColourRgbList (IfcEntityInstanceData* e); IfcColourRgbList (std::vector< std::vector< double > > v1_ColourList); - typedef IfcTemplatedEntityList< IfcColourRgbList > list; + typedef aggregate_of< IfcColourRgbList > list; }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -15030,19 +14561,17 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - /// Whether the optional attribute Name is defined for this IfcColourSpecification - bool hasName() const; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// /// NOTE  Examples are the names of a industry colour classification, such as RAL. /// IFC2x Edition 3 CHANGE  Attribute added. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcColourSpecification (IfcEntityInstanceData* e); IfcColourSpecification (boost::optional< std::string > v1_Name); - typedef IfcTemplatedEntityList< IfcColourSpecification > list; + typedef aggregate_of< IfcColourSpecification > list; }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -15083,18 +14612,16 @@ public: class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr Profiles() const; - void setProfiles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v); - /// Whether the optional attribute Label is defined for this IfcCompositeProfileDef - bool hasLabel() const; + aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Profiles() const; + void setProfiles(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v); /// The name by which the composition may be referred to. The actual meaning of the name has to be defined in the context of applications. - std::string Label() const; - void setLabel(std::string v); + boost::optional< std::string > Label() const; + void setLabel(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCompositeProfileDef (IfcEntityInstanceData* e); - IfcCompositeProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label); - typedef IfcTemplatedEntityList< IfcCompositeProfileDef > list; + IfcCompositeProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label); + typedef aggregate_of< IfcCompositeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -15108,13 +14635,13 @@ public: class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFace >::ptr CfsFaces() const; - void setCfsFaces(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFace >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr CfsFaces() const; + void setCfsFaces(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConnectedFaceSet (IfcEntityInstanceData* e); - IfcConnectedFaceSet (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces); - typedef IfcTemplatedEntityList< IfcConnectedFaceSet > list; + IfcConnectedFaceSet (aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces); + typedef aggregate_of< IfcConnectedFaceSet > list; }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -15134,8 +14661,6 @@ public: /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; void setCurveOnRelatingElement(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v); - /// Whether the optional attribute CurveOnRelatedElement is defined for this IfcConnectionCurveGeometry - bool hasCurveOnRelatedElement() const; /// The bounded curve at which the connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. ::Ifc4x3_rc4::IfcCurveOrEdgeCurve* CurveOnRelatedElement() const; void setCurveOnRelatedElement(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v); @@ -15143,7 +14668,7 @@ public: static const IfcParse::entity& Class(); IfcConnectionCurveGeometry (IfcEntityInstanceData* e); IfcConnectionCurveGeometry (::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement); - typedef IfcTemplatedEntityList< IfcConnectionCurveGeometry > list; + typedef aggregate_of< IfcConnectionCurveGeometry > list; }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -15166,26 +14691,20 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - /// Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInX() const; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. - double EccentricityInX() const; - void setEccentricityInX(double v); - /// Whether the optional attribute EccentricityInY is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInY() const; + boost::optional< double > EccentricityInX() const; + void setEccentricityInX(boost::optional< double > v); /// Distance in y direction between the two points (or vertex points) engaged in the point connection. - double EccentricityInY() const; - void setEccentricityInY(double v); - /// Whether the optional attribute EccentricityInZ is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInZ() const; + boost::optional< double > EccentricityInY() const; + void setEccentricityInY(boost::optional< double > v); /// Distance in z direction between the two points (or vertex points) engaged in the point connection. - double EccentricityInZ() const; - void setEccentricityInZ(double v); + boost::optional< double > EccentricityInZ() const; + void setEccentricityInZ(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConnectionPointEccentricity (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcConnectionPointEccentricity > list; + typedef aggregate_of< IfcConnectionPointEccentricity > list; }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -15199,12 +14718,12 @@ public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; void setName(std::string v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcContextDependentUnit (IfcEntityInstanceData* e); IfcContextDependentUnit (::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); - typedef IfcTemplatedEntityList< IfcContextDependentUnit > list; + typedef aggregate_of< IfcContextDependentUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -15261,12 +14780,12 @@ public: /// The physical quantity from which the converted unit is derived. ::Ifc4x3_rc4::IfcMeasureWithUnit* ConversionFactor() const; void setConversionFactor(::Ifc4x3_rc4::IfcMeasureWithUnit* v); - IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + aggregate_of< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConversionBasedUnit (IfcEntityInstanceData* e); IfcConversionBasedUnit (::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_ConversionFactor); - typedef IfcTemplatedEntityList< IfcConversionBasedUnit > list; + typedef aggregate_of< IfcConversionBasedUnit > list; }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -15295,7 +14814,7 @@ public: static const IfcParse::entity& Class(); IfcConversionBasedUnitWithOffset (IfcEntityInstanceData* e); IfcConversionBasedUnitWithOffset (::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset); - typedef IfcTemplatedEntityList< IfcConversionBasedUnitWithOffset > list; + typedef aggregate_of< IfcConversionBasedUnitWithOffset > list; }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -15319,15 +14838,11 @@ public: /// The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP). double ExchangeRate() const; void setExchangeRate(double v); - /// Whether the optional attribute RateDateTime is defined for this IfcCurrencyRelationship - bool hasRateDateTime() const; /// The date and time at which an exchange rate applies. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. Attribute made optional. - std::string RateDateTime() const; - void setRateDateTime(std::string v); - /// Whether the optional attribute RateSource is defined for this IfcCurrencyRelationship - bool hasRateSource() const; + boost::optional< std::string > RateDateTime() const; + void setRateDateTime(boost::optional< std::string > v); /// The source from which an exchange rate is obtained. ::Ifc4x3_rc4::IfcLibraryInformation* RateSource() const; void setRateSource(::Ifc4x3_rc4::IfcLibraryInformation* v); @@ -15335,7 +14850,7 @@ public: static const IfcParse::entity& Class(); IfcCurrencyRelationship (IfcEntityInstanceData* e); IfcCurrencyRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_rc4::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc4::IfcLibraryInformation* v7_RateSource); - typedef IfcTemplatedEntityList< IfcCurrencyRelationship > list; + typedef aggregate_of< IfcCurrencyRelationship > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -15356,30 +14871,22 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle - bool hasCurveFont() const; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; void setCurveFont(::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* v); - /// Whether the optional attribute CurveWidth is defined for this IfcCurveStyle - bool hasCurveWidth() const; /// A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies. ::Ifc4x3_rc4::IfcSizeSelect* CurveWidth() const; void setCurveWidth(::Ifc4x3_rc4::IfcSizeSelect* v); - /// Whether the optional attribute CurveColour is defined for this IfcCurveStyle - bool hasCurveColour() const; /// The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies. ::Ifc4x3_rc4::IfcColour* CurveColour() const; void setCurveColour(::Ifc4x3_rc4::IfcColour* v); - /// Whether the optional attribute ModelOrDraughting is defined for this IfcCurveStyle - bool hasModelOrDraughting() const; - bool ModelOrDraughting() const; - void setModelOrDraughting(bool v); + boost::optional< bool > ModelOrDraughting() const; + void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCurveStyle (IfcEntityInstanceData* e); IfcCurveStyle (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_rc4::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_rc4::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting); - typedef IfcTemplatedEntityList< IfcCurveStyle > list; + typedef aggregate_of< IfcCurveStyle > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -15388,19 +14895,17 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - /// Whether the optional attribute Name is defined for this IfcCurveStyleFont - bool hasName() const; /// Name that may be assigned with the curve font. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// A list of curve font pattern entities, that contains the simple patterns used for drawing curves. The patterns are applied in the order they occur in the list. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr PatternList() const; - void setPatternList(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr PatternList() const; + void setPatternList(aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCurveStyleFont (IfcEntityInstanceData* e); - IfcCurveStyleFont (boost::optional< std::string > v1_Name, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v2_PatternList); - typedef IfcTemplatedEntityList< IfcCurveStyleFont > list; + IfcCurveStyleFont (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v2_PatternList); + typedef aggregate_of< IfcCurveStyleFont > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -15415,11 +14920,9 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling - bool hasName() const; /// Name that may be assigned with the scaling of a curve font. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// The curve font to be scaled. ::Ifc4x3_rc4::IfcCurveStyleFontSelect* CurveFont() const; void setCurveFont(::Ifc4x3_rc4::IfcCurveStyleFontSelect* v); @@ -15430,7 +14933,7 @@ public: static const IfcParse::entity& Class(); IfcCurveStyleFontAndScaling (IfcEntityInstanceData* e); IfcCurveStyleFontAndScaling (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling); - typedef IfcTemplatedEntityList< IfcCurveStyleFontAndScaling > list; + typedef aggregate_of< IfcCurveStyleFontAndScaling > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -15453,7 +14956,7 @@ public: static const IfcParse::entity& Class(); IfcCurveStyleFontPattern (IfcEntityInstanceData* e); IfcCurveStyleFontPattern (double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); - typedef IfcTemplatedEntityList< IfcCurveStyleFontPattern > list; + typedef aggregate_of< IfcCurveStyleFontPattern > list; }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -15547,16 +15050,14 @@ public: /// Transformation operator applied to the parent profile. ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Operator() const; void setOperator(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v); - /// Whether the optional attribute Label is defined for this IfcDerivedProfileDef - bool hasLabel() const; /// The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. - std::string Label() const; - void setLabel(std::string v); + boost::optional< std::string > Label() const; + void setLabel(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDerivedProfileDef (IfcEntityInstanceData* e); IfcDerivedProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label); - typedef IfcTemplatedEntityList< IfcDerivedProfileDef > list; + typedef aggregate_of< IfcDerivedProfileDef > list; }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// @@ -15568,104 +15069,74 @@ public: /// File name or document name assigned by owner. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcDocumentInformation - bool hasDescription() const; /// Description of document and its content. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Location is defined for this IfcDocumentInformation - bool hasLocation() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Resource identifier or locator, provided as URI, URN or URL, of the document information for online references. /// /// IFC2x4 CHANGE  New attribute added at end of attribute list. - std::string Location() const; - void setLocation(std::string v); - /// Whether the optional attribute Purpose is defined for this IfcDocumentInformation - bool hasPurpose() const; + boost::optional< std::string > Location() const; + void setLocation(boost::optional< std::string > v); /// Purpose for this document. - std::string Purpose() const; - void setPurpose(std::string v); - /// Whether the optional attribute IntendedUse is defined for this IfcDocumentInformation - bool hasIntendedUse() const; + boost::optional< std::string > Purpose() const; + void setPurpose(boost::optional< std::string > v); /// Intended use for this document. - std::string IntendedUse() const; - void setIntendedUse(std::string v); - /// Whether the optional attribute Scope is defined for this IfcDocumentInformation - bool hasScope() const; + boost::optional< std::string > IntendedUse() const; + void setIntendedUse(boost::optional< std::string > v); /// Scope for this document. - std::string Scope() const; - void setScope(std::string v); - /// Whether the optional attribute Revision is defined for this IfcDocumentInformation - bool hasRevision() const; + boost::optional< std::string > Scope() const; + void setScope(boost::optional< std::string > v); /// Document revision designation. - std::string Revision() const; - void setRevision(std::string v); - /// Whether the optional attribute DocumentOwner is defined for this IfcDocumentInformation - bool hasDocumentOwner() const; + boost::optional< std::string > Revision() const; + void setRevision(boost::optional< std::string > v); /// Information about the person and/or organization acknowledged as the 'owner' of this document. In some contexts, the document owner determines who has access to or editing right to the document. ::Ifc4x3_rc4::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x3_rc4::IfcActorSelect* v); - /// Whether the optional attribute Editors is defined for this IfcDocumentInformation - bool hasEditors() const; /// The persons and/or organizations who have created this document or contributed to it. - IfcEntityList::ptr Editors() const; - void setEditors(IfcEntityList::ptr v); - /// Whether the optional attribute CreationTime is defined for this IfcDocumentInformation - bool hasCreationTime() const; + boost::optional< aggregate_of_instance::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of_instance::ptr > v); /// Date and time stamp when the document was originally created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - std::string CreationTime() const; - void setCreationTime(std::string v); - /// Whether the optional attribute LastRevisionTime is defined for this IfcDocumentInformation - bool hasLastRevisionTime() const; + boost::optional< std::string > CreationTime() const; + void setCreationTime(boost::optional< std::string > v); /// Date and time stamp when this document version was created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - std::string LastRevisionTime() const; - void setLastRevisionTime(std::string v); - /// Whether the optional attribute ElectronicFormat is defined for this IfcDocumentInformation - bool hasElectronicFormat() const; + boost::optional< std::string > LastRevisionTime() const; + void setLastRevisionTime(boost::optional< std::string > v); /// Describes the electronic format of the document being referenced, providing the file extension and the manner in which the content is provided. - std::string ElectronicFormat() const; - void setElectronicFormat(std::string v); - /// Whether the optional attribute ValidFrom is defined for this IfcDocumentInformation - bool hasValidFrom() const; + boost::optional< std::string > ElectronicFormat() const; + void setElectronicFormat(boost::optional< std::string > v); /// Date when the document becomes valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - std::string ValidFrom() const; - void setValidFrom(std::string v); - /// Whether the optional attribute ValidUntil is defined for this IfcDocumentInformation - bool hasValidUntil() const; + boost::optional< std::string > ValidFrom() const; + void setValidFrom(boost::optional< std::string > v); /// Date until which the document remains valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - std::string ValidUntil() const; - void setValidUntil(std::string v); - /// Whether the optional attribute Confidentiality is defined for this IfcDocumentInformation - bool hasConfidentiality() const; + boost::optional< std::string > ValidUntil() const; + void setValidUntil(boost::optional< std::string > v); /// The level of confidentiality of the document. - ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value Confidentiality() const; - void setConfidentiality(::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value v); - /// Whether the optional attribute Status is defined for this IfcDocumentInformation - bool hasStatus() const; + boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > Confidentiality() const; + void setConfidentiality(boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v); /// The current status of the document. Examples of status values that might be used for a document information status include: /// - DRAFT /// - FINAL DRAFT /// - FINAL /// - REVISION - ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value Status() const; - void setStatus(::Ifc4x3_rc4::IfcDocumentStatusEnum::Value v); - IfcTemplatedEntityList< IfcRelAssociatesDocument >::ptr DocumentInfoForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument - IfcTemplatedEntityList< IfcDocumentReference >::ptr HasDocumentReferences() const; // INVERSE IfcDocumentReference::ReferencedDocument - IfcTemplatedEntityList< IfcDocumentInformationRelationship >::ptr IsPointedTo() const; // INVERSE IfcDocumentInformationRelationship::RelatedDocuments - IfcTemplatedEntityList< IfcDocumentInformationRelationship >::ptr IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument + boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > Status() const; + void setStatus(boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v); + aggregate_of< IfcRelAssociatesDocument >::ptr DocumentInfoForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument + aggregate_of< IfcDocumentReference >::ptr HasDocumentReferences() const; // INVERSE IfcDocumentReference::ReferencedDocument + aggregate_of< IfcDocumentInformationRelationship >::ptr IsPointedTo() const; // INVERSE IfcDocumentInformationRelationship::RelatedDocuments + aggregate_of< IfcDocumentInformationRelationship >::ptr IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - IfcDocumentInformation (std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc4::IfcActorSelect* v9_DocumentOwner, boost::optional< IfcEntityList::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); - typedef IfcTemplatedEntityList< IfcDocumentInformation > list; + 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); + typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -15681,18 +15152,16 @@ public: ::Ifc4x3_rc4::IfcDocumentInformation* RelatingDocument() const; void setRelatingDocument(::Ifc4x3_rc4::IfcDocumentInformation* v); /// The document that acts as the child, referenced or replacing document in a relationship. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr RelatedDocuments() const; - void setRelatedDocuments(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v); - /// Whether the optional attribute RelationshipType is defined for this IfcDocumentInformationRelationship - bool hasRelationshipType() const; + aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr RelatedDocuments() const; + void setRelatedDocuments(aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v); /// Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context. - std::string RelationshipType() const; - void setRelationshipType(std::string v); + boost::optional< std::string > RelationshipType() const; + void setRelationshipType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformationRelationship (IfcEntityInstanceData* e); - IfcDocumentInformationRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcDocumentInformation* v3_RelatingDocument, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType); - typedef IfcTemplatedEntityList< IfcDocumentInformationRelationship > list; + IfcDocumentInformationRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType); + typedef aggregate_of< IfcDocumentInformationRelationship > list; }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -15707,24 +15176,20 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - /// Whether the optional attribute Description is defined for this IfcDocumentReference - bool hasDescription() const; /// Description of the document reference for informational purposes. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute ReferencedDocument is defined for this IfcDocumentReference - bool hasReferencedDocument() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// The document that is referenced. ::Ifc4x3_rc4::IfcDocumentInformation* ReferencedDocument() const; void setReferencedDocument(::Ifc4x3_rc4::IfcDocumentInformation* v); - IfcTemplatedEntityList< IfcRelAssociatesDocument >::ptr DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument + aggregate_of< IfcRelAssociatesDocument >::ptr DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentReference (IfcEntityInstanceData* e); IfcDocumentReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcDocumentInformation* v5_ReferencedDocument); - typedef IfcTemplatedEntityList< IfcDocumentReference > list; + typedef aggregate_of< IfcDocumentReference > list; }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -15787,7 +15252,7 @@ public: static const IfcParse::entity& Class(); IfcEdge (IfcEntityInstanceData* e); IfcEdge (::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd); - typedef IfcTemplatedEntityList< IfcEdge > list; + typedef aggregate_of< IfcEdge > list; }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -15834,7 +15299,7 @@ public: static const IfcParse::entity& Class(); IfcEdgeCurve (IfcEntityInstanceData* e); IfcEdgeCurve (::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc4::IfcCurve* v3_EdgeGeometry, bool v4_SameSense); - typedef IfcTemplatedEntityList< IfcEdgeCurve > list; + typedef aggregate_of< IfcEdgeCurve > list; }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -15861,52 +15326,40 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - /// Whether the optional attribute ActualDate is defined for this IfcEventTime - bool hasActualDate() const; /// The date on which an event actually occurs. It is a measured value. - std::string ActualDate() const; - void setActualDate(std::string v); - /// Whether the optional attribute EarlyDate is defined for this IfcEventTime - bool hasEarlyDate() const; + boost::optional< std::string > ActualDate() const; + void setActualDate(boost::optional< std::string > v); /// The earliest date on which an event can occur. It is a calculated value. - std::string EarlyDate() const; - void setEarlyDate(std::string v); - /// Whether the optional attribute LateDate is defined for this IfcEventTime - bool hasLateDate() const; + boost::optional< std::string > EarlyDate() const; + void setEarlyDate(boost::optional< std::string > v); /// The latest date on which an event can occur. It is a calculated value. - std::string LateDate() const; - void setLateDate(std::string v); - /// Whether the optional attribute ScheduleDate is defined for this IfcEventTime - bool hasScheduleDate() const; + boost::optional< std::string > LateDate() const; + void setLateDate(boost::optional< std::string > v); /// The date on which an event is scheduled to occur. /// The value might be measured or somehow calculated, which is defined by /// ScheduleDataOrigin. - std::string ScheduleDate() const; - void setScheduleDate(std::string v); + boost::optional< std::string > ScheduleDate() const; + void setScheduleDate(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEventTime (IfcEntityInstanceData* e); IfcEventTime (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_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate); - typedef IfcTemplatedEntityList< IfcEventTime > list; + typedef aggregate_of< IfcEventTime > list; }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - /// Whether the optional attribute Name is defined for this IfcExtendedProperties - bool hasName() const; - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcExtendedProperties - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr Properties() const; - void setProperties(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); + aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Properties() const; + void setProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExtendedProperties (IfcEntityInstanceData* e); - IfcExtendedProperties (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties); - typedef IfcTemplatedEntityList< IfcExtendedProperties > list; + IfcExtendedProperties (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties); + typedef aggregate_of< IfcExtendedProperties > list; }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -15923,13 +15376,13 @@ public: ::Ifc4x3_rc4::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x3_rc4::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - IfcEntityList::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(IfcEntityList::ptr v); + aggregate_of_instance::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, IfcEntityList::ptr v4_RelatedResourceObjects); - typedef IfcTemplatedEntityList< IfcExternalReferenceRelationship > list; + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -15978,14 +15431,14 @@ public: class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr Bounds() const; - void setBounds(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr v); - IfcTemplatedEntityList< IfcTextureMap >::ptr HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo + aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr Bounds() const; + void setBounds(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v); + aggregate_of< IfcTextureMap >::ptr HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFace (IfcEntityInstanceData* e); - IfcFace (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds); - typedef IfcTemplatedEntityList< IfcFace > list; + IfcFace (aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds); + typedef aggregate_of< IfcFace > list; }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -16004,7 +15457,7 @@ public: static const IfcParse::entity& Class(); IfcFaceBound (IfcEntityInstanceData* e); IfcFaceBound (::Ifc4x3_rc4::IfcLoop* v1_Bound, bool v2_Orientation); - typedef IfcTemplatedEntityList< IfcFaceBound > list; + typedef aggregate_of< IfcFaceBound > list; }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -16017,7 +15470,7 @@ public: static const IfcParse::entity& Class(); IfcFaceOuterBound (IfcEntityInstanceData* e); IfcFaceOuterBound (::Ifc4x3_rc4::IfcLoop* v1_Bound, bool v2_Orientation); - typedef IfcTemplatedEntityList< IfcFaceOuterBound > list; + typedef aggregate_of< IfcFaceOuterBound > list; }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -16066,8 +15519,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFaceSurface (IfcEntityInstanceData* e); - IfcFaceSurface (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense); - typedef IfcTemplatedEntityList< IfcFaceSurface > list; + IfcFaceSurface (aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense); + typedef aggregate_of< IfcFaceSurface > list; }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -16078,41 +15531,29 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - /// Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition - bool hasTensionFailureX() const; /// Tension force in x-direction leading to failure of the connection. - double TensionFailureX() const; - void setTensionFailureX(double v); - /// Whether the optional attribute TensionFailureY is defined for this IfcFailureConnectionCondition - bool hasTensionFailureY() const; + boost::optional< double > TensionFailureX() const; + void setTensionFailureX(boost::optional< double > v); /// Tension force in y-direction leading to failure of the connection. - double TensionFailureY() const; - void setTensionFailureY(double v); - /// Whether the optional attribute TensionFailureZ is defined for this IfcFailureConnectionCondition - bool hasTensionFailureZ() const; + boost::optional< double > TensionFailureY() const; + void setTensionFailureY(boost::optional< double > v); /// Tension force in z-direction leading to failure of the connection. - double TensionFailureZ() const; - void setTensionFailureZ(double v); - /// Whether the optional attribute CompressionFailureX is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureX() const; + boost::optional< double > TensionFailureZ() const; + void setTensionFailureZ(boost::optional< double > v); /// Compression force in x-direction leading to failure of the connection. - double CompressionFailureX() const; - void setCompressionFailureX(double v); - /// Whether the optional attribute CompressionFailureY is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureY() const; + boost::optional< double > CompressionFailureX() const; + void setCompressionFailureX(boost::optional< double > v); /// Compression force in y-direction leading to failure of the connection. - double CompressionFailureY() const; - void setCompressionFailureY(double v); - /// Whether the optional attribute CompressionFailureZ is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureZ() const; + boost::optional< double > CompressionFailureY() const; + void setCompressionFailureY(boost::optional< double > v); /// Compression force in z-direction leading to failure of the connection. - double CompressionFailureZ() const; - void setCompressionFailureZ(double v); + boost::optional< double > CompressionFailureZ() const; + void setCompressionFailureZ(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFailureConnectionCondition (IfcEntityInstanceData* e); IfcFailureConnectionCondition (boost::optional< std::string > v1_Name, boost::optional< double > v2_TensionFailureX, boost::optional< double > v3_TensionFailureY, boost::optional< double > v4_TensionFailureZ, boost::optional< double > v5_CompressionFailureX, boost::optional< double > v6_CompressionFailureY, boost::optional< double > v7_CompressionFailureZ); - typedef IfcTemplatedEntityList< IfcFailureConnectionCondition > list; + typedef aggregate_of< IfcFailureConnectionCondition > list; }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -16151,17 +15592,15 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - IfcEntityList::ptr FillStyles() const; - void setFillStyles(IfcEntityList::ptr v); - /// Whether the optional attribute ModelOrDraughting is defined for this IfcFillAreaStyle - bool hasModelOrDraughting() const; - bool ModelOrDraughting() const; - void setModelOrDraughting(bool v); + aggregate_of_instance::ptr FillStyles() const; + void setFillStyles(aggregate_of_instance::ptr v); + boost::optional< bool > ModelOrDraughting() const; + void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, IfcEntityList::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); - typedef IfcTemplatedEntityList< IfcFillAreaStyle > list; + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); + typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -16215,28 +15654,24 @@ public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; void setCoordinateSpaceDimension(int v); - /// Whether the optional attribute Precision is defined for this IfcGeometricRepresentationContext - bool hasPrecision() const; /// Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models. - double Precision() const; - void setPrecision(double v); + boost::optional< double > Precision() const; + void setPrecision(boost::optional< double > v); /// Establishment of the engineering coordinate system (often referred to as the world coordinate system in CAD) for all representation contexts used by the project. /// /// Note  it can be used to provide better numeric stability if the placement of the building(s) is far away from the origin. In most cases however it would be set to origin: (0.,0.,0.) and directions x(1.,0.,0.), y(0.,1.,0.), z(0.,0.,1.). ::Ifc4x3_rc4::IfcAxis2Placement* WorldCoordinateSystem() const; void setWorldCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement* v); - /// Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext - bool hasTrueNorth() const; /// Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to 0. 1. - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. ::Ifc4x3_rc4::IfcDirection* TrueNorth() const; void setTrueNorth(::Ifc4x3_rc4::IfcDirection* v); - IfcTemplatedEntityList< IfcGeometricRepresentationSubContext >::ptr HasSubContexts() const; // INVERSE IfcGeometricRepresentationSubContext::ParentContext - IfcTemplatedEntityList< IfcCoordinateOperation >::ptr HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS + aggregate_of< IfcGeometricRepresentationSubContext >::ptr HasSubContexts() const; // INVERSE IfcGeometricRepresentationSubContext::ParentContext + aggregate_of< IfcCoordinateOperation >::ptr HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricRepresentationContext (IfcEntityInstanceData* e); IfcGeometricRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_rc4::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_rc4::IfcDirection* v6_TrueNorth); - typedef IfcTemplatedEntityList< IfcGeometricRepresentationContext > list; + typedef aggregate_of< IfcGeometricRepresentationContext > list; }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -16263,7 +15698,7 @@ public: static const IfcParse::entity& Class(); IfcGeometricRepresentationItem (IfcEntityInstanceData* e); IfcGeometricRepresentationItem (); - typedef IfcTemplatedEntityList< IfcGeometricRepresentationItem > list; + typedef aggregate_of< IfcGeometricRepresentationItem > list; }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -16283,8 +15718,6 @@ public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_rc4::IfcGeometricRepresentationContext* ParentContext() const; void setParentContext(::Ifc4x3_rc4::IfcGeometricRepresentationContext* v); - /// Whether the optional attribute TargetScale is defined for this IfcGeometricRepresentationSubContext - bool hasTargetScale() const; /// The target plot scale of the representation /// to which this representation context applies. /// Scale indicates the target plot scale for @@ -16296,21 +15729,19 @@ public: /// /// Note: Scale 1:100 (given as 0.01 within TargetScale) /// is bigger then 1:200 (given as 0.005 within TargetScale). - double TargetScale() const; - void setTargetScale(double v); + boost::optional< double > TargetScale() const; + void setTargetScale(boost::optional< double > v); /// Target view of the representation to which this representation context applies. ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value TargetView() const; void setTargetView(::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v); - /// Whether the optional attribute UserDefinedTargetView is defined for this IfcGeometricRepresentationSubContext - bool hasUserDefinedTargetView() const; /// User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED. - std::string UserDefinedTargetView() const; - void setUserDefinedTargetView(std::string v); + boost::optional< std::string > UserDefinedTargetView() const; + void setUserDefinedTargetView(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricRepresentationSubContext (IfcEntityInstanceData* e); IfcGeometricRepresentationSubContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc4::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView); - typedef IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > list; + typedef aggregate_of< IfcGeometricRepresentationSubContext > list; }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -16322,13 +15753,13 @@ public: class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. - IfcEntityList::ptr Elements() const; - void setElements(IfcEntityList::ptr v); + aggregate_of_instance::ptr Elements() const; + void setElements(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (IfcEntityList::ptr v1_Elements); - typedef IfcTemplatedEntityList< IfcGeometricSet > list; + IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -16380,8 +15811,6 @@ public: /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_rc4::IfcVirtualGridIntersection* PlacementLocation() const; void setPlacementLocation(::Ifc4x3_rc4::IfcVirtualGridIntersection* v); - /// Whether the optional attribute PlacementRefDirection is defined for this IfcGridPlacement - bool hasPlacementRefDirection() const; /// Reference to either an explicit direction, or a second grid axis intersection, which defines the orientation of the grid placement. /// /// IFC2x4 CHANGE The select of an explict direction has been added. @@ -16391,7 +15820,7 @@ public: static const IfcParse::entity& Class(); IfcGridPlacement (IfcEntityInstanceData* e); IfcGridPlacement (::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc4::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection); - typedef IfcTemplatedEntityList< IfcGridPlacement > list; + typedef aggregate_of< IfcGridPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -16420,7 +15849,7 @@ public: static const IfcParse::entity& Class(); IfcHalfSpaceSolid (IfcEntityInstanceData* e); IfcHalfSpaceSolid (::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag); - typedef IfcTemplatedEntityList< IfcHalfSpaceSolid > list; + typedef aggregate_of< IfcHalfSpaceSolid > list; }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -16466,17 +15895,15 @@ public: static const IfcParse::entity& Class(); IfcImageTexture (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcImageTexture > list; + typedef aggregate_of< IfcImageTexture > list; }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: ::Ifc4x3_rc4::IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(::Ifc4x3_rc4::IfcTessellatedFaceSet* v); - /// Whether the optional attribute Opacity is defined for this IfcIndexedColourMap - bool hasOpacity() const; - double Opacity() const; - void setOpacity(double v); + boost::optional< double > Opacity() const; + void setOpacity(boost::optional< double > v); ::Ifc4x3_rc4::IfcColourRgbList* Colours() const; void setColours(::Ifc4x3_rc4::IfcColourRgbList* v); std::vector< int > /*[1:?]*/ ColourIndex() const; @@ -16485,7 +15912,7 @@ public: static const IfcParse::entity& Class(); IfcIndexedColourMap (IfcEntityInstanceData* e); IfcIndexedColourMap (::Ifc4x3_rc4::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc4::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); - typedef IfcTemplatedEntityList< IfcIndexedColourMap > list; + typedef aggregate_of< IfcIndexedColourMap > list; }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { @@ -16497,21 +15924,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedTextureMap (IfcEntityInstanceData* e); - IfcIndexedTextureMap (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords); - typedef IfcTemplatedEntityList< IfcIndexedTextureMap > list; + IfcIndexedTextureMap (aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords); + typedef aggregate_of< IfcIndexedTextureMap > list; }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - /// Whether the optional attribute TexCoordIndex is defined for this IfcIndexedTriangleTextureMap - bool hasTexCoordIndex() const; - std::vector< std::vector< int > > TexCoordIndex() const; - void setTexCoordIndex(std::vector< std::vector< int > > v); + boost::optional< std::vector< std::vector< int > > > TexCoordIndex() const; + void setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedTriangleTextureMap (IfcEntityInstanceData* e); - IfcIndexedTriangleTextureMap (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); - typedef IfcTemplatedEntityList< IfcIndexedTriangleTextureMap > list; + IfcIndexedTriangleTextureMap (aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + typedef aggregate_of< IfcIndexedTriangleTextureMap > list; }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -16521,13 +15946,13 @@ public: class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr Values() const; - void setValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr Values() const; + void setValues(aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeries (IfcEntityInstanceData* e); - IfcIrregularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v9_Values); - typedef IfcTemplatedEntityList< IfcIrregularTimeSeries > list; + IfcIrregularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v9_Values); + typedef aggregate_of< IfcIrregularTimeSeries > list; }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -16580,7 +16005,7 @@ public: static const IfcParse::entity& Class(); IfcLagTime (IfcEntityInstanceData* e); IfcLagTime (boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_rc4::IfcTaskDurationEnum::Value v5_DurationType); - typedef IfcTemplatedEntityList< IfcLagTime > list; + typedef aggregate_of< IfcLagTime > list; }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -16591,30 +16016,24 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - /// Whether the optional attribute Name is defined for this IfcLightSource - bool hasName() const; /// The name given to the light source in presentation. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Definition from ISO/CD 10303-46:1992: Based on the current lighting model, the colour of the light to be used for shading. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The color field specifies the spectral color properties of both the direct and ambient light emission as an RGB value. ::Ifc4x3_rc4::IfcColourRgb* LightColour() const; void setLightColour(::Ifc4x3_rc4::IfcColourRgb* v); - /// Whether the optional attribute AmbientIntensity is defined for this IfcLightSource - bool hasAmbientIntensity() const; /// Definition from VRML97 - ISO/IEC 14772-1:1997: The ambientIntensity specifies the intensity of the ambient emission from the light. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - double AmbientIntensity() const; - void setAmbientIntensity(double v); - /// Whether the optional attribute Intensity is defined for this IfcLightSource - bool hasIntensity() const; + boost::optional< double > AmbientIntensity() const; + void setAmbientIntensity(boost::optional< double > v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The intensity field specifies the brightness of the direct emission from the ligth. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - double Intensity() const; - void setIntensity(double v); + boost::optional< double > Intensity() const; + void setIntensity(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLightSource (IfcEntityInstanceData* e); IfcLightSource (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity); - typedef IfcTemplatedEntityList< IfcLightSource > list; + typedef aggregate_of< IfcLightSource > list; }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -16629,7 +16048,7 @@ public: static const IfcParse::entity& Class(); IfcLightSourceAmbient (IfcEntityInstanceData* e); IfcLightSourceAmbient (boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity); - typedef IfcTemplatedEntityList< IfcLightSourceAmbient > list; + typedef aggregate_of< IfcLightSourceAmbient > list; }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -16650,7 +16069,7 @@ public: static const IfcParse::entity& Class(); IfcLightSourceDirectional (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcLightSourceDirectional > list; + typedef aggregate_of< IfcLightSourceDirectional > list; }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -16664,8 +16083,6 @@ public: /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_rc4::IfcAxis2Placement3D* Position() const; void setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v); - /// Whether the optional attribute ColourAppearance is defined for this IfcLightSourceGoniometric - bool hasColourAppearance() const; /// Artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white; the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance. ::Ifc4x3_rc4::IfcColourRgb* ColourAppearance() const; void setColourAppearance(::Ifc4x3_rc4::IfcColourRgb* v); @@ -16685,7 +16102,7 @@ public: static const IfcParse::entity& Class(); IfcLightSourceGoniometric (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcLightSourceGoniometric > list; + typedef aggregate_of< IfcLightSourceGoniometric > list; }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -16725,7 +16142,7 @@ public: static const IfcParse::entity& Class(); IfcLightSourcePositional (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcLightSourcePositional > list; + typedef aggregate_of< IfcLightSourcePositional > list; }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -16748,12 +16165,10 @@ public: /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. ::Ifc4x3_rc4::IfcDirection* Orientation() const; void setOrientation(::Ifc4x3_rc4::IfcDirection* v); - /// Whether the optional attribute ConcentrationExponent is defined for this IfcLightSourceSpot - bool hasConcentrationExponent() const; /// Definition from ISO/CD 10303-46:1992: This real is the exponent on the cosine of the angle between the line that starts at the position of the spot light source and is in the direction of the orientation of the spot light source and a line that starts at the position of the spot light source and goes through a point on the surface being shaded. /// NOTE: This attribute does not exists in ISO/IEC 14772-1:1997. - double ConcentrationExponent() const; - void setConcentrationExponent(double v); + boost::optional< double > ConcentrationExponent() const; + void setConcentrationExponent(boost::optional< double > v); /// Definition from ISO/CD 10303-46:1992: This planar angle measure is the angle between the line that starts at the position of the spot light source and is in the direction of the spot light source and any line on the boundary of the cone of influence. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The cutOffAngle (name of spread angle in VRML) field specifies the outer bound of the solid angle. The light source does not emit light outside of this solid angle. double SpreadAngle() const; @@ -16765,22 +16180,20 @@ public: static const IfcParse::entity& Class(); IfcLightSourceSpot (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcLightSourceSpot > list; + typedef aggregate_of< IfcLightSourceSpot > list; }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: ::Ifc4x3_rc4::IfcAxis2PlacementLinear* RelativePlacement() const; void setRelativePlacement(::Ifc4x3_rc4::IfcAxis2PlacementLinear* v); - /// Whether the optional attribute CartesianPosition is defined for this IfcLinearPlacement - bool hasCartesianPosition() const; ::Ifc4x3_rc4::IfcAxis2Placement3D* CartesianPosition() const; void setCartesianPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLinearPlacement (IfcEntityInstanceData* e); IfcLinearPlacement (::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_rc4::IfcAxis2Placement3D* v3_CartesianPosition); - typedef IfcTemplatedEntityList< IfcLinearPlacement > list; + typedef aggregate_of< IfcLinearPlacement > list; }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -16843,7 +16256,7 @@ public: static const IfcParse::entity& Class(); IfcLocalPlacement (IfcEntityInstanceData* e); IfcLocalPlacement (::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2Placement* v2_RelativePlacement); - typedef IfcTemplatedEntityList< IfcLocalPlacement > list; + typedef aggregate_of< IfcLocalPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -16877,7 +16290,7 @@ public: static const IfcParse::entity& Class(); IfcLoop (IfcEntityInstanceData* e); IfcLoop (); - typedef IfcTemplatedEntityList< IfcLoop > list; + typedef aggregate_of< IfcLoop > list; }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -16910,7 +16323,7 @@ public: static const IfcParse::entity& Class(); IfcMappedItem (IfcEntityInstanceData* e); IfcMappedItem (::Ifc4x3_rc4::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc4::IfcCartesianTransformationOperator* v2_MappingTarget); - typedef IfcTemplatedEntityList< IfcMappedItem > list; + typedef aggregate_of< IfcMappedItem > list; }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -16948,30 +16361,26 @@ public: /// NOTE Material grade may have diffenrent meaning in different view definitions, e.g. strength grade for structural design and analysis, or visible appearance grade in architectural application. Also, more elaborate material grade definition may be associated as classification via inverse attribute HasExternalReferences. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterial - bool hasDescription() const; /// Definition of the material in more descriptive terms than given by attributes Name or Category. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Category is defined for this IfcMaterial - bool hasCategory() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Definition of the category (group or type) of material, in more general terms than given by attribute Name. /// /// EXAMPLE A view definition may require each Material.Name to be unique, e.g. for each concrete or steel grade used in a project, in which case Material.Category could take the values 'Concrete' or 'Steel'. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - std::string Category() const; - void setCategory(std::string v); - IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation >::ptr HasRepresentation() const; // INVERSE IfcMaterialDefinitionRepresentation::RepresentedMaterial - IfcTemplatedEntityList< IfcMaterialRelationship >::ptr IsRelatedWith() const; // INVERSE IfcMaterialRelationship::RelatedMaterials - IfcTemplatedEntityList< IfcMaterialRelationship >::ptr RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial + boost::optional< std::string > Category() const; + void setCategory(boost::optional< std::string > v); + aggregate_of< IfcMaterialDefinitionRepresentation >::ptr HasRepresentation() const; // INVERSE IfcMaterialDefinitionRepresentation::RepresentedMaterial + aggregate_of< IfcMaterialRelationship >::ptr IsRelatedWith() const; // INVERSE IfcMaterialRelationship::RelatedMaterials + aggregate_of< IfcMaterialRelationship >::ptr RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterial (IfcEntityInstanceData* e); IfcMaterial (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category); - typedef IfcTemplatedEntityList< IfcMaterial > list; + typedef aggregate_of< IfcMaterial > list; }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -16980,35 +16389,27 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - /// Whether the optional attribute Name is defined for this IfcMaterialConstituent - bool hasName() const; /// The name by which the material constituent is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialConstituent - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Definition of the material constituent in descriptive terms. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Reference to the material from which the constituent is constructed. ::Ifc4x3_rc4::IfcMaterial* Material() const; void setMaterial(::Ifc4x3_rc4::IfcMaterial* v); - /// Whether the optional attribute Fraction is defined for this IfcMaterialConstituent - bool hasFraction() const; /// Optional provision of a fraction of the total amount (volume or weight) that applies to the IfcMaterialConstituentSet that is contributed by this IfcMaterialConstituent. - double Fraction() const; - void setFraction(double v); - /// Whether the optional attribute Category is defined for this IfcMaterialConstituent - bool hasCategory() const; + boost::optional< double > Fraction() const; + void setFraction(boost::optional< double > v); /// Category of the material constituent, e.g. the role it has in the constituent set it belongs to. - std::string Category() const; - void setCategory(std::string v); - IfcTemplatedEntityList< IfcMaterialConstituentSet >::ptr ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents + boost::optional< std::string > Category() const; + void setCategory(boost::optional< std::string > v); + aggregate_of< IfcMaterialConstituentSet >::ptr ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialConstituent (IfcEntityInstanceData* e); IfcMaterialConstituent (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category); - typedef IfcTemplatedEntityList< IfcMaterialConstituent > list; + typedef aggregate_of< IfcMaterialConstituent > list; }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -17026,26 +16427,20 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - /// Whether the optional attribute Name is defined for this IfcMaterialConstituentSet - bool hasName() const; /// The name by which the constituent set is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialConstituentSet - bool hasDescription() const; + boost::optional< std::string > Name() const; + void setName(boost::optional< std::string > v); /// Definition of the material constituent set in descriptive terms. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute MaterialConstituents is defined for this IfcMaterialConstituentSet - bool hasMaterialConstituents() const; + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); /// Identification of the constituents from which the material constituent set is composed. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr MaterialConstituents() const; - void setMaterialConstituents(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > MaterialConstituents() const; + void setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialConstituentSet (IfcEntityInstanceData* e); - IfcMaterialConstituentSet (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > v3_MaterialConstituents); - typedef IfcTemplatedEntityList< IfcMaterialConstituentSet > list; + IfcMaterialConstituentSet (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > v3_MaterialConstituents); + typedef aggregate_of< IfcMaterialConstituentSet > list; }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -17085,8 +16480,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialDefinitionRepresentation (IfcEntityInstanceData* e); - IfcMaterialDefinitionRepresentation (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc4::IfcMaterial* v4_RepresentedMaterial); - typedef IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > list; + 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); + typedef aggregate_of< IfcMaterialDefinitionRepresentation > list; }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -17207,8 +16602,6 @@ public: /// Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y). NOTE  the positive or negative sign in the offset only affects the MlsBase placement, it does not have any effect on the application of DirectionSense for orientation of the material layers; also DirectionSense does not change the MlsBase placement. double OffsetFromReferenceLine() const; void setOffsetFromReferenceLine(double v); - /// Whether the optional attribute ReferenceExtent is defined for this IfcMaterialLayerSetUsage - bool hasReferenceExtent() const; /// EPM-HTML> /// Extent of the extrusion of the elements body shape representation to which the IfcMaterialLayerSetUsage applies. It is used as the reference value for the upper OffsetValues[2] provided by the IfcMaterialLayerSetWithOffsets subtype for included material layers. /// @@ -17217,13 +16610,13 @@ public: /// NOTE 1  The attribute ReferenceExtent shall be asserted, if an IfcMaterialLayerSetWithOffsets is included in the ForLayerSet.MaterialLayers list of maerial layers. /// /// NOTE 2  The ReferenceExtent for IfcWallStandardCase is the reference height starting at z=0 being the XY plane of the object coordinate system. - double ReferenceExtent() const; - void setReferenceExtent(double v); + boost::optional< double > ReferenceExtent() const; + void setReferenceExtent(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialLayerSetUsage (IfcEntityInstanceData* e); IfcMaterialLayerSetUsage (::Ifc4x3_rc4::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent); - typedef IfcTemplatedEntityList< IfcMaterialLayerSetUsage > list; + typedef aggregate_of< IfcMaterialLayerSetUsage > list; }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -17237,26 +16630,22 @@ public: /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc4::IfcMaterialProfileSet* ForProfileSet() const; void setForProfileSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v); - /// Whether the optional attribute CardinalPoint is defined for this IfcMaterialProfileSetUsage - bool hasCardinalPoint() const; /// Index reference to a significant point in the section profile. Describes how the section is aligned relative to the (longitudinal) axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile. - int CardinalPoint() const; - void setCardinalPoint(int v); - /// Whether the optional attribute ReferenceExtent is defined for this IfcMaterialProfileSetUsage - bool hasReferenceExtent() const; + boost::optional< int > CardinalPoint() const; + void setCardinalPoint(boost::optional< int > v); /// EPM-HTML> /// Extent of the extrusion of the elements body shape representation to which the IfcMaterialProfileSetUsage applies. It is used as the reference value for the upper OffsetValues[2] provided by the IfcMaterialProfileSetWithOffsets subtype for included material profiles. /// /// NOTE 1  The attribute ReferenceExtent shall be asserted, if an IfcMaterialProfileSetWithOffsets is included in the ForProfileSet.MaterialProfiles list of maerial layers. /// /// NOTE 2  The ReferenceExtent for IfcBeamStandardCase, IfcColumnStandardCase, and IfcMemberStandardCase is the reference length starting at z=0 being the XY plane of the object coordinate system. - double ReferenceExtent() const; - void setReferenceExtent(double v); + boost::optional< double > ReferenceExtent() const; + void setReferenceExtent(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialProfileSetUsage (IfcEntityInstanceData* e); IfcMaterialProfileSetUsage (::Ifc4x3_rc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent); - typedef IfcTemplatedEntityList< IfcMaterialProfileSetUsage > list; + typedef aggregate_of< IfcMaterialProfileSetUsage > list; }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -17288,16 +16677,14 @@ public: /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc4::IfcMaterialProfileSet* ForProfileEndSet() const; void setForProfileEndSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v); - /// Whether the optional attribute CardinalEndPoint is defined for this IfcMaterialProfileSetUsageTapering - bool hasCardinalEndPoint() const; /// Index reference to a significant point in the second section profile. Describes how this section is aligned relative to the axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile. - int CardinalEndPoint() const; - void setCardinalEndPoint(int v); + boost::optional< int > CardinalEndPoint() const; + void setCardinalEndPoint(boost::optional< int > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialProfileSetUsageTapering (IfcEntityInstanceData* e); IfcMaterialProfileSetUsageTapering (::Ifc4x3_rc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc4::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint); - typedef IfcTemplatedEntityList< IfcMaterialProfileSetUsageTapering > list; + typedef aggregate_of< IfcMaterialProfileSetUsageTapering > list; }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -17331,8 +16718,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialProperties (IfcEntityInstanceData* e); - IfcMaterialProperties (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc4::IfcMaterialDefinition* v4_Material); - typedef IfcTemplatedEntityList< IfcMaterialProperties > list; + 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); + typedef aggregate_of< IfcMaterialProperties > list; }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// @@ -17343,18 +16730,16 @@ public: ::Ifc4x3_rc4::IfcMaterial* RelatingMaterial() const; void setRelatingMaterial(::Ifc4x3_rc4::IfcMaterial* v); /// Reference to related materials (as constituents of composite material). - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr RelatedMaterials() const; - void setRelatedMaterials(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr v); - /// Whether the optional attribute Expression is defined for this IfcMaterialRelationship - bool hasExpression() const; + aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr RelatedMaterials() const; + void setRelatedMaterials(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v); /// The amount of related material in the whole (composite material or material set). Expressed as proportion (percentage) of weight or volume, or as any other appropriate value. - std::string Expression() const; - void setExpression(std::string v); + boost::optional< std::string > Expression() const; + void setExpression(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialRelationship (IfcEntityInstanceData* e); - IfcMaterialRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial* v3_RelatingMaterial, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression); - typedef IfcTemplatedEntityList< IfcMaterialRelationship > list; + IfcMaterialRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression); + typedef aggregate_of< IfcMaterialRelationship > list; }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -17389,7 +16774,7 @@ public: static const IfcParse::entity& Class(); IfcMirroredProfileDef (IfcEntityInstanceData* e); IfcMirroredProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label); - typedef IfcTemplatedEntityList< IfcMirroredProfileDef > list; + typedef aggregate_of< IfcMirroredProfileDef > list; }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -17443,18 +16828,18 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcTemplatedEntityList< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects - IfcTemplatedEntityList< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects - IfcTemplatedEntityList< IfcRelNests >::ptr IsNestedBy() const; // INVERSE IfcRelNests::RelatingObject - IfcTemplatedEntityList< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions - IfcTemplatedEntityList< IfcRelAggregates >::ptr IsDecomposedBy() const; // INVERSE IfcRelAggregates::RelatingObject - IfcTemplatedEntityList< IfcRelAggregates >::ptr Decomposes() const; // INVERSE IfcRelAggregates::RelatedObjects - IfcTemplatedEntityList< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects + aggregate_of< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects + aggregate_of< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects + aggregate_of< IfcRelNests >::ptr IsNestedBy() const; // INVERSE IfcRelNests::RelatingObject + aggregate_of< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions + aggregate_of< IfcRelAggregates >::ptr IsDecomposedBy() const; // INVERSE IfcRelAggregates::RelatingObject + aggregate_of< IfcRelAggregates >::ptr Decomposes() const; // INVERSE IfcRelAggregates::RelatedObjects + aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcObjectDefinition (IfcEntityInstanceData* e); IfcObjectDefinition (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcObjectDefinition > list; + typedef aggregate_of< IfcObjectDefinition > list; }; class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { @@ -17465,15 +16850,13 @@ public: void setWidths(std::vector< double > /*[1:?]*/ v); std::vector< double > /*[1:?]*/ Slopes() const; void setSlopes(std::vector< double > /*[1:?]*/ v); - /// Whether the optional attribute Tags is defined for this IfcOpenCrossProfileDef - bool hasTags() const; - std::vector< std::string > /*[2:?]*/ Tags() const; - void setTags(std::vector< std::string > /*[2:?]*/ v); + boost::optional< std::vector< std::string > /*[2:?]*/ > Tags() const; + void setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOpenCrossProfileDef (IfcEntityInstanceData* e); IfcOpenCrossProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, boost::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags); - typedef IfcTemplatedEntityList< IfcOpenCrossProfileDef > list; + typedef aggregate_of< IfcOpenCrossProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -17539,8 +16922,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOpenShell (IfcEntityInstanceData* e); - IfcOpenShell (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces); - typedef IfcTemplatedEntityList< IfcOpenShell > list; + IfcOpenShell (aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces); + typedef aggregate_of< IfcOpenShell > list; }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -17554,13 +16937,13 @@ public: ::Ifc4x3_rc4::IfcOrganization* RelatingOrganization() const; void setRelatingOrganization(::Ifc4x3_rc4::IfcOrganization* v); /// The other, possibly dependent, organizations which are the related parts of the relationship between organizations. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrganization >::ptr RelatedOrganizations() const; - void setRelatedOrganizations(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrganization >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcOrganization >::ptr RelatedOrganizations() const; + void setRelatedOrganizations(aggregate_of< ::Ifc4x3_rc4::IfcOrganization >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOrganizationRelationship (IfcEntityInstanceData* e); - IfcOrganizationRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrganization >::ptr v4_RelatedOrganizations); - typedef IfcTemplatedEntityList< IfcOrganizationRelationship > list; + 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); + typedef aggregate_of< IfcOrganizationRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -17581,7 +16964,7 @@ public: static const IfcParse::entity& Class(); IfcOrientedEdge (IfcEntityInstanceData* e); IfcOrientedEdge (::Ifc4x3_rc4::IfcEdge* v3_EdgeElement, bool v4_Orientation); - typedef IfcTemplatedEntityList< IfcOrientedEdge > list; + typedef aggregate_of< IfcOrientedEdge > list; }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -17627,8 +17010,6 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - /// Whether the optional attribute Position is defined for this IfcParameterizedProfileDef - bool hasPosition() const; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_rc4::IfcAxis2Placement2D* Position() const; void setPosition(::Ifc4x3_rc4::IfcAxis2Placement2D* v); @@ -17636,7 +17017,7 @@ public: static const IfcParse::entity& Class(); IfcParameterizedProfileDef (IfcEntityInstanceData* e); IfcParameterizedProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position); - typedef IfcTemplatedEntityList< IfcParameterizedProfileDef > list; + typedef aggregate_of< IfcParameterizedProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -17655,13 +17036,13 @@ public: class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr EdgeList() const; - void setEdgeList(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr EdgeList() const; + void setEdgeList(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPath (IfcEntityInstanceData* e); - IfcPath (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList); - typedef IfcTemplatedEntityList< IfcPath > list; + IfcPath (aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList); + typedef aggregate_of< IfcPath > list; }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -17675,26 +17056,22 @@ public: class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr HasQuantities() const; - void setHasQuantities(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr HasQuantities() const; + void setHasQuantities(aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v); /// Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc. std::string Discrimination() const; void setDiscrimination(std::string v); - /// Whether the optional attribute Quality is defined for this IfcPhysicalComplexQuantity - bool hasQuality() const; /// Additional indication of a quality of the quantities that are grouped under this physical complex quantity. - std::string Quality() const; - void setQuality(std::string v); - /// Whether the optional attribute Usage is defined for this IfcPhysicalComplexQuantity - bool hasUsage() const; + boost::optional< std::string > Quality() const; + void setQuality(boost::optional< std::string > v); /// Additional indication of a usage type of the quantities that are grouped under this physical complex quantity. - std::string Usage() const; - void setUsage(std::string v); + boost::optional< std::string > Usage() const; + void setUsage(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPhysicalComplexQuantity (IfcEntityInstanceData* e); - IfcPhysicalComplexQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage); - typedef IfcTemplatedEntityList< IfcPhysicalComplexQuantity > list; + IfcPhysicalComplexQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage); + typedef aggregate_of< IfcPhysicalComplexQuantity > list; }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -17734,7 +17111,7 @@ public: static const IfcParse::entity& Class(); IfcPixelTexture (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcPixelTexture > list; + typedef aggregate_of< IfcPixelTexture > list; }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -17754,7 +17131,7 @@ public: static const IfcParse::entity& Class(); IfcPlacement (IfcEntityInstanceData* e); IfcPlacement (::Ifc4x3_rc4::IfcPoint* v1_Location); - typedef IfcTemplatedEntityList< IfcPlacement > list; + typedef aggregate_of< IfcPlacement > list; }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -17773,7 +17150,7 @@ public: static const IfcParse::entity& Class(); IfcPlanarExtent (IfcEntityInstanceData* e); IfcPlanarExtent (double v1_SizeInX, double v2_SizeInY); - typedef IfcTemplatedEntityList< IfcPlanarExtent > list; + typedef aggregate_of< IfcPlanarExtent > list; }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -17786,32 +17163,26 @@ public: static const IfcParse::entity& Class(); IfcPoint (IfcEntityInstanceData* e); IfcPoint (); - typedef IfcTemplatedEntityList< IfcPoint > list; + typedef aggregate_of< IfcPoint > list; }; class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: ::Ifc4x3_rc4::IfcCurveMeasureSelect* DistanceAlong() const; void setDistanceAlong(::Ifc4x3_rc4::IfcCurveMeasureSelect* v); - /// Whether the optional attribute OffsetLateral is defined for this IfcPointByDistanceExpression - bool hasOffsetLateral() const; - double OffsetLateral() const; - void setOffsetLateral(double v); - /// Whether the optional attribute OffsetVertical is defined for this IfcPointByDistanceExpression - bool hasOffsetVertical() const; - double OffsetVertical() const; - void setOffsetVertical(double v); - /// Whether the optional attribute OffsetLongitudinal is defined for this IfcPointByDistanceExpression - bool hasOffsetLongitudinal() const; - double OffsetLongitudinal() const; - void setOffsetLongitudinal(double v); + boost::optional< double > OffsetLateral() const; + void setOffsetLateral(boost::optional< double > v); + boost::optional< double > OffsetVertical() const; + void setOffsetVertical(boost::optional< double > v); + boost::optional< double > OffsetLongitudinal() const; + void setOffsetLongitudinal(boost::optional< double > v); ::Ifc4x3_rc4::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc4::IfcCurve* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPointByDistanceExpression (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcPointByDistanceExpression > list; + typedef aggregate_of< IfcPointByDistanceExpression > list; }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -17834,7 +17205,7 @@ public: static const IfcParse::entity& Class(); IfcPointOnCurve (IfcEntityInstanceData* e); IfcPointOnCurve (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_PointParameter); - typedef IfcTemplatedEntityList< IfcPointOnCurve > list; + typedef aggregate_of< IfcPointOnCurve > list; }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -17860,7 +17231,7 @@ public: static const IfcParse::entity& Class(); IfcPointOnSurface (IfcEntityInstanceData* e); IfcPointOnSurface (::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); - typedef IfcTemplatedEntityList< IfcPointOnSurface > list; + typedef aggregate_of< IfcPointOnSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -17904,13 +17275,13 @@ public: class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Polygon() const; - void setPolygon(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Polygon() const; + void setPolygon(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPolyLoop (IfcEntityInstanceData* e); - IfcPolyLoop (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Polygon); - typedef IfcTemplatedEntityList< IfcPolyLoop > list; + IfcPolyLoop (aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Polygon); + typedef aggregate_of< IfcPolyLoop > list; }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -17982,7 +17353,7 @@ public: static const IfcParse::entity& Class(); IfcPolygonalBoundedHalfSpace (IfcEntityInstanceData* e); IfcPolygonalBoundedHalfSpace (::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc4::IfcBoundedCurve* v4_PolygonalBoundary); - typedef IfcTemplatedEntityList< IfcPolygonalBoundedHalfSpace > list; + typedef aggregate_of< IfcPolygonalBoundedHalfSpace > list; }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -18000,7 +17371,7 @@ public: static const IfcParse::entity& Class(); IfcPreDefinedItem (IfcEntityInstanceData* e); IfcPreDefinedItem (std::string v1_Name); - typedef IfcTemplatedEntityList< IfcPreDefinedItem > list; + typedef aggregate_of< IfcPreDefinedItem > list; }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { @@ -18009,7 +17380,7 @@ public: static const IfcParse::entity& Class(); IfcPreDefinedProperties (IfcEntityInstanceData* e); IfcPreDefinedProperties (); - typedef IfcTemplatedEntityList< IfcPreDefinedProperties > list; + typedef aggregate_of< IfcPreDefinedProperties > list; }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -18028,7 +17399,7 @@ public: static const IfcParse::entity& Class(); IfcPreDefinedTextFont (IfcEntityInstanceData* e); IfcPreDefinedTextFont (std::string v1_Name); - typedef IfcTemplatedEntityList< IfcPreDefinedTextFont > list; + typedef aggregate_of< IfcPreDefinedTextFont > list; }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -18044,13 +17415,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcTemplatedEntityList< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation - IfcTemplatedEntityList< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape + aggregate_of< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation + aggregate_of< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProductDefinitionShape (IfcEntityInstanceData* e); - IfcProductDefinitionShape (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations); - typedef IfcTemplatedEntityList< IfcProductDefinitionShape > list; + IfcProductDefinitionShape (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations); + typedef aggregate_of< IfcProductDefinitionShape > list; }; /// This is a collection of properties applicable to section profile definitions. /// @@ -18071,8 +17442,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProfileProperties (IfcEntityInstanceData* e); - IfcProfileProperties (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc4::IfcProfileDef* v4_ProfileDefinition); - typedef IfcTemplatedEntityList< IfcProfileProperties > list; + IfcProfileProperties (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc4::IfcProfileDef* v4_ProfileDefinition); + typedef aggregate_of< IfcProfileProperties > list; }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// @@ -18082,22 +17453,20 @@ public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcProperty - bool hasDescription() const; /// Informative text to explain the property. - std::string Description() const; - void setDescription(std::string v); - IfcTemplatedEntityList< IfcPropertySet >::ptr PartOfPset() const; // INVERSE IfcPropertySet::HasProperties - IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyForDependance() const; // INVERSE IfcPropertyDependencyRelationship::DependingProperty - IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyDependsOn() const; // INVERSE IfcPropertyDependencyRelationship::DependantProperty - IfcTemplatedEntityList< IfcComplexProperty >::ptr PartOfComplex() const; // INVERSE IfcComplexProperty::HasProperties - IfcTemplatedEntityList< IfcResourceConstraintRelationship >::ptr HasConstraints() const; // INVERSE IfcResourceConstraintRelationship::RelatedResourceObjects - IfcTemplatedEntityList< IfcResourceApprovalRelationship >::ptr HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects + boost::optional< std::string > Description() const; + void setDescription(boost::optional< std::string > v); + aggregate_of< IfcPropertySet >::ptr PartOfPset() const; // INVERSE IfcPropertySet::HasProperties + aggregate_of< IfcPropertyDependencyRelationship >::ptr PropertyForDependance() const; // INVERSE IfcPropertyDependencyRelationship::DependingProperty + aggregate_of< IfcPropertyDependencyRelationship >::ptr PropertyDependsOn() const; // INVERSE IfcPropertyDependencyRelationship::DependantProperty + aggregate_of< IfcComplexProperty >::ptr PartOfComplex() const; // INVERSE IfcComplexProperty::HasProperties + aggregate_of< IfcResourceConstraintRelationship >::ptr HasConstraints() const; // INVERSE IfcResourceConstraintRelationship::RelatedResourceObjects + aggregate_of< IfcResourceApprovalRelationship >::ptr HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProperty (IfcEntityInstanceData* e); IfcProperty (std::string v1_Name, boost::optional< std::string > v2_Description); - typedef IfcTemplatedEntityList< IfcProperty > list; + typedef aggregate_of< IfcProperty > list; }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -18151,13 +17520,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcTemplatedEntityList< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions - IfcTemplatedEntityList< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects + aggregate_of< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions + aggregate_of< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyDefinition (IfcEntityInstanceData* e); IfcPropertyDefinition (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcPropertyDefinition > list; + typedef aggregate_of< IfcPropertyDefinition > list; }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -18175,16 +17544,14 @@ public: /// The dependant property. ::Ifc4x3_rc4::IfcProperty* DependantProperty() const; void setDependantProperty(::Ifc4x3_rc4::IfcProperty* v); - /// Whether the optional attribute Expression is defined for this IfcPropertyDependencyRelationship - bool hasExpression() const; /// Expression that further describes the nature of the dependency relation. - std::string Expression() const; - void setExpression(std::string v); + boost::optional< std::string > Expression() const; + void setExpression(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyDependencyRelationship (IfcEntityInstanceData* e); IfcPropertyDependencyRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc4::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression); - typedef IfcTemplatedEntityList< IfcPropertyDependencyRelationship > list; + typedef aggregate_of< IfcPropertyDependencyRelationship > list; }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -18230,14 +17597,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcTemplatedEntityList< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets - IfcTemplatedEntityList< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets - IfcTemplatedEntityList< IfcRelDefinesByProperties >::ptr DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition + aggregate_of< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets + aggregate_of< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets + aggregate_of< IfcRelDefinesByProperties >::ptr DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertySetDefinition (IfcEntityInstanceData* e); IfcPropertySetDefinition (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcPropertySetDefinition > list; + typedef aggregate_of< IfcPropertySetDefinition > list; }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -18270,7 +17637,7 @@ public: static const IfcParse::entity& Class(); IfcPropertyTemplateDefinition (IfcEntityInstanceData* e); IfcPropertyTemplateDefinition (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcPropertyTemplateDefinition > list; + typedef aggregate_of< IfcPropertyTemplateDefinition > list; }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { @@ -18279,7 +17646,7 @@ public: static const IfcParse::entity& Class(); IfcQuantitySet (IfcEntityInstanceData* e); IfcQuantitySet (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcQuantitySet > list; + typedef aggregate_of< IfcQuantitySet > list; }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -18327,7 +17694,7 @@ public: static const IfcParse::entity& Class(); IfcRectangleProfileDef (IfcEntityInstanceData* e); IfcRectangleProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim); - typedef IfcTemplatedEntityList< IfcRectangleProfileDef > list; + typedef aggregate_of< IfcRectangleProfileDef > list; }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -18340,13 +17707,13 @@ public: double TimeStep() const; void setTimeStep(double v); /// The collection of time series values. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr Values() const; - void setValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr Values() const; + void setValues(aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRegularTimeSeries (IfcEntityInstanceData* e); - IfcRegularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v10_Values); - typedef IfcTemplatedEntityList< IfcRegularTimeSeries > list; + IfcRegularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v10_Values); + typedef aggregate_of< IfcRegularTimeSeries > list; }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -18361,31 +17728,23 @@ public: /// The nominal steel grade defined according to local standards. std::string SteelGrade() const; void setSteelGrade(std::string v); - /// Whether the optional attribute BarSurface is defined for this IfcReinforcementBarProperties - bool hasBarSurface() const; /// Indicator for whether the bar surface is plain or textured. - ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value BarSurface() const; - void setBarSurface(::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value v); - /// Whether the optional attribute EffectiveDepth is defined for this IfcReinforcementBarProperties - bool hasEffectiveDepth() const; + boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > BarSurface() const; + void setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v); /// The effective depth, i.e. the distance of the specific reinforcement cross section area or reinforcement configuration in a row, counted from a common specific reference point. Usually the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns). - double EffectiveDepth() const; - void setEffectiveDepth(double v); - /// Whether the optional attribute NominalBarDiameter is defined for this IfcReinforcementBarProperties - bool hasNominalBarDiameter() const; + boost::optional< double > EffectiveDepth() const; + void setEffectiveDepth(boost::optional< double > v); /// The nominal diameter defining the cross-section size of the reinforcing bar. The bar diameter should be identical for all bars included in the specific reinforcement configuration. - double NominalBarDiameter() const; - void setNominalBarDiameter(double v); - /// Whether the optional attribute BarCount is defined for this IfcReinforcementBarProperties - bool hasBarCount() const; + boost::optional< double > NominalBarDiameter() const; + void setNominalBarDiameter(boost::optional< double > v); /// The number of bars with identical nominal diameter and steel grade included in the specific reinforcement configuration. - double BarCount() const; - void setBarCount(double v); + boost::optional< double > BarCount() const; + void setBarCount(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcementBarProperties (IfcEntityInstanceData* e); IfcReinforcementBarProperties (double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount); - typedef IfcTemplatedEntityList< IfcReinforcementBarProperties > list; + typedef aggregate_of< IfcReinforcementBarProperties > list; }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -18401,7 +17760,7 @@ public: static const IfcParse::entity& Class(); IfcRelationship (IfcEntityInstanceData* e); IfcRelationship (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcRelationship > list; + typedef aggregate_of< IfcRelationship > list; }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -18412,16 +17771,16 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - IfcEntityList::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(IfcEntityList::ptr v); + aggregate_of_instance::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of_instance::ptr v); /// The approval for the resource objects selected. ::Ifc4x3_rc4::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval); - typedef IfcTemplatedEntityList< IfcResourceApprovalRelationship > list; + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval); + typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -18449,98 +17808,68 @@ public: ::Ifc4x3_rc4::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v); /// The properties to which a constraint is to be related. - IfcEntityList::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(IfcEntityList::ptr v); + aggregate_of_instance::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects); - typedef IfcTemplatedEntityList< IfcResourceConstraintRelationship > list; + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - /// Whether the optional attribute ScheduleWork is defined for this IfcResourceTime - bool hasScheduleWork() const; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. - std::string ScheduleWork() const; - void setScheduleWork(std::string v); - /// Whether the optional attribute ScheduleUsage is defined for this IfcResourceTime - bool hasScheduleUsage() const; + boost::optional< std::string > ScheduleWork() const; + void setScheduleWork(boost::optional< std::string > v); /// Indicates the amount of the resource used concurrently. For example, 100% means 1 worker, 300% means 3 workers, 50% means half of 1 worker's time for scenarios where multitasking is feasible. If not provided, then the usage ratio is considered to be 100%. - double ScheduleUsage() const; - void setScheduleUsage(double v); - /// Whether the optional attribute ScheduleStart is defined for this IfcResourceTime - bool hasScheduleStart() const; + boost::optional< double > ScheduleUsage() const; + void setScheduleUsage(boost::optional< double > v); /// Indicates the time when the resource is scheduled to start working. - std::string ScheduleStart() const; - void setScheduleStart(std::string v); - /// Whether the optional attribute ScheduleFinish is defined for this IfcResourceTime - bool hasScheduleFinish() const; + boost::optional< std::string > ScheduleStart() const; + void setScheduleStart(boost::optional< std::string > v); /// Indicates the time when the resource is scheduled to finish working. - std::string ScheduleFinish() const; - void setScheduleFinish(std::string v); - /// Whether the optional attribute ScheduleContour is defined for this IfcResourceTime - bool hasScheduleContour() const; + boost::optional< std::string > ScheduleFinish() const; + void setScheduleFinish(boost::optional< std::string > v); /// Indicates how a resource should be leveled over time by adjusting the resource usage according to a specified curve. Standard values include: 'Flat', 'BackLoaded', 'FrontLoaded', 'DoublePeak', 'EarlyPeak', 'LatePeak', 'Bell', and 'Turtle'. Custom values may specify a custom name or formula. - std::string ScheduleContour() const; - void setScheduleContour(std::string v); - /// Whether the optional attribute LevelingDelay is defined for this IfcResourceTime - bool hasLevelingDelay() const; + boost::optional< std::string > ScheduleContour() const; + void setScheduleContour(boost::optional< std::string > v); /// Indicates a delay in the ScheduleStart caused by leveling. - std::string LevelingDelay() const; - void setLevelingDelay(std::string v); - /// Whether the optional attribute IsOverAllocated is defined for this IfcResourceTime - bool hasIsOverAllocated() const; + boost::optional< std::string > LevelingDelay() const; + void setLevelingDelay(boost::optional< std::string > v); /// Indicates that the resource is scheduled in excess of its capacity. - bool IsOverAllocated() const; - void setIsOverAllocated(bool v); - /// Whether the optional attribute StatusTime is defined for this IfcResourceTime - bool hasStatusTime() const; + boost::optional< bool > IsOverAllocated() const; + void setIsOverAllocated(boost::optional< bool > v); /// Indicates the date and time for which status values are applicable; particularly completion, actual, and remaining values. If values are time-phased (the referencing IfcConstructionResource has associated time series values for attributes), then the status values may be determined from such time-phased data as of the StatusTime. - std::string StatusTime() const; - void setStatusTime(std::string v); - /// Whether the optional attribute ActualWork is defined for this IfcResourceTime - bool hasActualWork() const; + boost::optional< std::string > StatusTime() const; + void setStatusTime(boost::optional< std::string > v); /// Indicates the actual work performed by the resource as of the StatusTime. - std::string ActualWork() const; - void setActualWork(std::string v); - /// Whether the optional attribute ActualUsage is defined for this IfcResourceTime - bool hasActualUsage() const; + boost::optional< std::string > ActualWork() const; + void setActualWork(boost::optional< std::string > v); /// Indicates the actual amount of the resource used concurrently. - double ActualUsage() const; - void setActualUsage(double v); - /// Whether the optional attribute ActualStart is defined for this IfcResourceTime - bool hasActualStart() const; + boost::optional< double > ActualUsage() const; + void setActualUsage(boost::optional< double > v); /// Indicates the time when the resource actually started working. - std::string ActualStart() const; - void setActualStart(std::string v); - /// Whether the optional attribute ActualFinish is defined for this IfcResourceTime - bool hasActualFinish() const; + boost::optional< std::string > ActualStart() const; + void setActualStart(boost::optional< std::string > v); /// Indicates the time when the resource actually finished working. - std::string ActualFinish() const; - void setActualFinish(std::string v); - /// Whether the optional attribute RemainingWork is defined for this IfcResourceTime - bool hasRemainingWork() const; + boost::optional< std::string > ActualFinish() const; + void setActualFinish(boost::optional< std::string > v); /// Indicates the work remaining to be completed by the resource. - std::string RemainingWork() const; - void setRemainingWork(std::string v); - /// Whether the optional attribute RemainingUsage is defined for this IfcResourceTime - bool hasRemainingUsage() const; - double RemainingUsage() const; - void setRemainingUsage(double v); - /// Whether the optional attribute Completion is defined for this IfcResourceTime - bool hasCompletion() const; + boost::optional< std::string > RemainingWork() const; + void setRemainingWork(boost::optional< std::string > v); + boost::optional< double > RemainingUsage() const; + void setRemainingUsage(boost::optional< double > v); /// Indicates the percent completion of this resource. If the resource is assigned to a task, then indicates completion of the task on behalf of the resource; if the resource is partitioned into sub-allocations, then indicates overall completion of sub-allocations. - double Completion() const; - void setCompletion(double v); + boost::optional< double > Completion() const; + void setCompletion(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceTime (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcResourceTime > list; + typedef aggregate_of< IfcResourceTime > list; }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -18588,7 +17917,7 @@ public: static const IfcParse::entity& Class(); IfcRoundedRectangleProfileDef (IfcEntityInstanceData* e); IfcRoundedRectangleProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); - typedef IfcTemplatedEntityList< IfcRoundedRectangleProfileDef > list; + typedef aggregate_of< IfcRoundedRectangleProfileDef > list; }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -18603,8 +17932,6 @@ public: /// The cross section profile at the start point of the longitudinal section. ::Ifc4x3_rc4::IfcProfileDef* StartProfile() const; void setStartProfile(::Ifc4x3_rc4::IfcProfileDef* v); - /// Whether the optional attribute EndProfile is defined for this IfcSectionProperties - bool hasEndProfile() const; /// The cross section profile at the end point of the longitudinal section. ::Ifc4x3_rc4::IfcProfileDef* EndProfile() const; void setEndProfile(::Ifc4x3_rc4::IfcProfileDef* v); @@ -18612,7 +17939,7 @@ public: static const IfcParse::entity& Class(); IfcSectionProperties (IfcEntityInstanceData* e); IfcSectionProperties (::Ifc4x3_rc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc4::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc4::IfcProfileDef* v3_EndProfile); - typedef IfcTemplatedEntityList< IfcSectionProperties > list; + typedef aggregate_of< IfcSectionProperties > list; }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -18629,11 +17956,9 @@ public: /// The end position in longitudinal direction for the section reinforcement properties. double LongitudinalEndPosition() const; void setLongitudinalEndPosition(double v); - /// Whether the optional attribute TransversePosition is defined for this IfcSectionReinforcementProperties - bool hasTransversePosition() const; /// The position for the section reinforcement properties in transverse direction. - double TransversePosition() const; - void setTransversePosition(double v); + boost::optional< double > TransversePosition() const; + void setTransversePosition(boost::optional< double > v); /// The role, purpose or usage of the reinforcement, i.e. the kind of loads and stresses it is intended to carry, defined for the section reinforcement properties. ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value ReinforcementRole() const; void setReinforcementRole(::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v); @@ -18641,13 +17966,13 @@ public: ::Ifc4x3_rc4::IfcSectionProperties* SectionDefinition() const; void setSectionDefinition(::Ifc4x3_rc4::IfcSectionProperties* v); /// The set of reinforcment properties attached to a section reinforcement properties definition. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr CrossSectionReinforcementDefinitions() const; - void setCrossSectionReinforcementDefinitions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr CrossSectionReinforcementDefinitions() const; + void setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSectionReinforcementProperties (IfcEntityInstanceData* e); - IfcSectionReinforcementProperties (double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc4::IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions); - typedef IfcTemplatedEntityList< IfcSectionReinforcementProperties > list; + 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); + typedef aggregate_of< IfcSectionReinforcementProperties > list; }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -18708,28 +18033,28 @@ public: ::Ifc4x3_rc4::IfcCompositeCurve* SpineCurve() const; void setSpineCurve(::Ifc4x3_rc4::IfcCompositeCurve* v); /// A list of at least two cross sections, each defined within the xy plane of the position coordinate system of the cross section. The position coordinate system is given by the corresponding list CrossSectionPositions. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr CrossSections() const; - void setCrossSections(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr CrossSections() const; + void setCrossSections(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v); /// Position coordinate systems for the cross sections that form the sectioned spine. The profiles defining the cross sections are positioned within the xy plane of the corresponding position coordinate system. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr CrossSectionPositions() const; - void setCrossSectionPositions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr CrossSectionPositions() const; + void setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSectionedSpine (IfcEntityInstanceData* e); - IfcSectionedSpine (::Ifc4x3_rc4::IfcCompositeCurve* v1_SpineCurve, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions); - typedef IfcTemplatedEntityList< IfcSectionedSpine > list; + IfcSectionedSpine (::Ifc4x3_rc4::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions); + typedef aggregate_of< IfcSectionedSpine > list; }; class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: ::Ifc4x3_rc4::IfcTransitionCode::Value Transition() const; void setTransition(::Ifc4x3_rc4::IfcTransitionCode::Value v); - IfcTemplatedEntityList< IfcCompositeCurve >::ptr UsingCurves() const; // INVERSE IfcCompositeCurve::Segments + aggregate_of< IfcCompositeCurve >::ptr UsingCurves() const; // INVERSE IfcCompositeCurve::Segments virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSegment (IfcEntityInstanceData* e); IfcSegment (::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition); - typedef IfcTemplatedEntityList< IfcSegment > list; + typedef aggregate_of< IfcSegment > list; }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -18745,13 +18070,13 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcEntityList::ptr SbsmBoundary() const; - void setSbsmBoundary(IfcEntityList::ptr v); + aggregate_of_instance::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (IfcEntityList::ptr v1_SbsmBoundary); - typedef IfcTemplatedEntityList< IfcShellBasedSurfaceModel > list; + IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + typedef aggregate_of< IfcShellBasedSurfaceModel > list; }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// @@ -18762,7 +18087,7 @@ public: static const IfcParse::entity& Class(); IfcSimpleProperty (IfcEntityInstanceData* e); IfcSimpleProperty (std::string v1_Name, boost::optional< std::string > v2_Description); - typedef IfcTemplatedEntityList< IfcSimpleProperty > list; + typedef aggregate_of< IfcSimpleProperty > list; }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -18775,26 +18100,20 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - /// Whether the optional attribute SlippageX is defined for this IfcSlippageConnectionCondition - bool hasSlippageX() const; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. - double SlippageX() const; - void setSlippageX(double v); - /// Whether the optional attribute SlippageY is defined for this IfcSlippageConnectionCondition - bool hasSlippageY() const; + boost::optional< double > SlippageX() const; + void setSlippageX(boost::optional< double > v); /// Slippage in y-direction of the coordinate system defined by the instance which uses this resource object. - double SlippageY() const; - void setSlippageY(double v); - /// Whether the optional attribute SlippageZ is defined for this IfcSlippageConnectionCondition - bool hasSlippageZ() const; + boost::optional< double > SlippageY() const; + void setSlippageY(boost::optional< double > v); /// Slippage in z-direction of the coordinate system defined by the instance which uses this resource object. - double SlippageZ() const; - void setSlippageZ(double v); + boost::optional< double > SlippageZ() const; + void setSlippageZ(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSlippageConnectionCondition (IfcEntityInstanceData* e); IfcSlippageConnectionCondition (boost::optional< std::string > v1_Name, boost::optional< double > v2_SlippageX, boost::optional< double > v3_SlippageY, boost::optional< double > v4_SlippageZ); - typedef IfcTemplatedEntityList< IfcSlippageConnectionCondition > list; + typedef aggregate_of< IfcSlippageConnectionCondition > list; }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -18807,7 +18126,7 @@ public: static const IfcParse::entity& Class(); IfcSolidModel (IfcEntityInstanceData* e); IfcSolidModel (); - typedef IfcTemplatedEntityList< IfcSolidModel > list; + typedef aggregate_of< IfcSolidModel > list; }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -18816,41 +18135,29 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute LinearForceX is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceX() const; /// Linear force value in x-direction. - double LinearForceX() const; - void setLinearForceX(double v); - /// Whether the optional attribute LinearForceY is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceY() const; + boost::optional< double > LinearForceX() const; + void setLinearForceX(boost::optional< double > v); /// Linear force value in y-direction. - double LinearForceY() const; - void setLinearForceY(double v); - /// Whether the optional attribute LinearForceZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceZ() const; + boost::optional< double > LinearForceY() const; + void setLinearForceY(boost::optional< double > v); /// Linear force value in z-direction. - double LinearForceZ() const; - void setLinearForceZ(double v); - /// Whether the optional attribute LinearMomentX is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentX() const; + boost::optional< double > LinearForceZ() const; + void setLinearForceZ(boost::optional< double > v); /// Linear moment about the x-axis. - double LinearMomentX() const; - void setLinearMomentX(double v); - /// Whether the optional attribute LinearMomentY is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentY() const; + boost::optional< double > LinearMomentX() const; + void setLinearMomentX(boost::optional< double > v); /// Linear moment about the y-axis. - double LinearMomentY() const; - void setLinearMomentY(double v); - /// Whether the optional attribute LinearMomentZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentZ() const; + boost::optional< double > LinearMomentY() const; + void setLinearMomentY(boost::optional< double > v); /// Linear moment about the z-axis. - double LinearMomentZ() const; - void setLinearMomentZ(double v); + boost::optional< double > LinearMomentZ() const; + void setLinearMomentZ(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadLinearForce (IfcEntityInstanceData* e); IfcStructuralLoadLinearForce (boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearForceX, boost::optional< double > v3_LinearForceY, boost::optional< double > v4_LinearForceZ, boost::optional< double > v5_LinearMomentX, boost::optional< double > v6_LinearMomentY, boost::optional< double > v7_LinearMomentZ); - typedef IfcTemplatedEntityList< IfcStructuralLoadLinearForce > list; + typedef aggregate_of< IfcStructuralLoadLinearForce > list; }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -18859,26 +18166,20 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute PlanarForceX is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceX() const; /// Planar force value in x-direction. - double PlanarForceX() const; - void setPlanarForceX(double v); - /// Whether the optional attribute PlanarForceY is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceY() const; + boost::optional< double > PlanarForceX() const; + void setPlanarForceX(boost::optional< double > v); /// Planar force value in y-direction. - double PlanarForceY() const; - void setPlanarForceY(double v); - /// Whether the optional attribute PlanarForceZ is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceZ() const; + boost::optional< double > PlanarForceY() const; + void setPlanarForceY(boost::optional< double > v); /// Planar force value in z-direction. - double PlanarForceZ() const; - void setPlanarForceZ(double v); + boost::optional< double > PlanarForceZ() const; + void setPlanarForceZ(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadPlanarForce (IfcEntityInstanceData* e); IfcStructuralLoadPlanarForce (boost::optional< std::string > v1_Name, boost::optional< double > v2_PlanarForceX, boost::optional< double > v3_PlanarForceY, boost::optional< double > v4_PlanarForceZ); - typedef IfcTemplatedEntityList< IfcStructuralLoadPlanarForce > list; + typedef aggregate_of< IfcStructuralLoadPlanarForce > list; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -18887,57 +18188,43 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute DisplacementX is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementX() const; /// Displacement in x-direction. - double DisplacementX() const; - void setDisplacementX(double v); - /// Whether the optional attribute DisplacementY is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementY() const; + boost::optional< double > DisplacementX() const; + void setDisplacementX(boost::optional< double > v); /// Displacement in y-direction. - double DisplacementY() const; - void setDisplacementY(double v); - /// Whether the optional attribute DisplacementZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementZ() const; + boost::optional< double > DisplacementY() const; + void setDisplacementY(boost::optional< double > v); /// Displacement in z-direction. - double DisplacementZ() const; - void setDisplacementZ(double v); - /// Whether the optional attribute RotationalDisplacementRX is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRX() const; + boost::optional< double > DisplacementZ() const; + void setDisplacementZ(boost::optional< double > v); /// Rotation about the x-axis. - double RotationalDisplacementRX() const; - void setRotationalDisplacementRX(double v); - /// Whether the optional attribute RotationalDisplacementRY is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRY() const; + boost::optional< double > RotationalDisplacementRX() const; + void setRotationalDisplacementRX(boost::optional< double > v); /// Rotation about the y-axis. - double RotationalDisplacementRY() const; - void setRotationalDisplacementRY(double v); - /// Whether the optional attribute RotationalDisplacementRZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRZ() const; + boost::optional< double > RotationalDisplacementRY() const; + void setRotationalDisplacementRY(boost::optional< double > v); /// Rotation about the z-axis. - double RotationalDisplacementRZ() const; - void setRotationalDisplacementRZ(double v); + boost::optional< double > RotationalDisplacementRZ() const; + void setRotationalDisplacementRZ(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadSingleDisplacement (IfcEntityInstanceData* e); IfcStructuralLoadSingleDisplacement (boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ); - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement > list; + typedef aggregate_of< IfcStructuralLoadSingleDisplacement > list; }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - /// Whether the optional attribute Distortion is defined for this IfcStructuralLoadSingleDisplacementDistortion - bool hasDistortion() const; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. - double Distortion() const; - void setDistortion(double v); + boost::optional< double > Distortion() const; + void setDistortion(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadSingleDisplacementDistortion (IfcEntityInstanceData* e); IfcStructuralLoadSingleDisplacementDistortion (boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ, boost::optional< double > v8_Distortion); - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion > list; + typedef aggregate_of< IfcStructuralLoadSingleDisplacementDistortion > list; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -18947,41 +18234,29 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute ForceX is defined for this IfcStructuralLoadSingleForce - bool hasForceX() const; /// Force value in x-direction. - double ForceX() const; - void setForceX(double v); - /// Whether the optional attribute ForceY is defined for this IfcStructuralLoadSingleForce - bool hasForceY() const; + boost::optional< double > ForceX() const; + void setForceX(boost::optional< double > v); /// Force value in y-direction. - double ForceY() const; - void setForceY(double v); - /// Whether the optional attribute ForceZ is defined for this IfcStructuralLoadSingleForce - bool hasForceZ() const; + boost::optional< double > ForceY() const; + void setForceY(boost::optional< double > v); /// Force value in z-direction. - double ForceZ() const; - void setForceZ(double v); - /// Whether the optional attribute MomentX is defined for this IfcStructuralLoadSingleForce - bool hasMomentX() const; + boost::optional< double > ForceZ() const; + void setForceZ(boost::optional< double > v); /// Moment about the x-axis. - double MomentX() const; - void setMomentX(double v); - /// Whether the optional attribute MomentY is defined for this IfcStructuralLoadSingleForce - bool hasMomentY() const; + boost::optional< double > MomentX() const; + void setMomentX(boost::optional< double > v); /// Moment about the y-axis. - double MomentY() const; - void setMomentY(double v); - /// Whether the optional attribute MomentZ is defined for this IfcStructuralLoadSingleForce - bool hasMomentZ() const; + boost::optional< double > MomentY() const; + void setMomentY(boost::optional< double > v); /// Moment about the z-axis. - double MomentZ() const; - void setMomentZ(double v); + boost::optional< double > MomentZ() const; + void setMomentZ(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadSingleForce (IfcEntityInstanceData* e); IfcStructuralLoadSingleForce (boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ); - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForce > list; + typedef aggregate_of< IfcStructuralLoadSingleForce > list; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -18993,16 +18268,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - /// Whether the optional attribute WarpingMoment is defined for this IfcStructuralLoadSingleForceWarping - bool hasWarpingMoment() const; /// The warping moment at the point load. - double WarpingMoment() const; - void setWarpingMoment(double v); + boost::optional< double > WarpingMoment() const; + void setWarpingMoment(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadSingleForceWarping (IfcEntityInstanceData* e); IfcStructuralLoadSingleForceWarping (boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ, boost::optional< double > v8_WarpingMoment); - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping > list; + typedef aggregate_of< IfcStructuralLoadSingleForceWarping > list; }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -19023,7 +18296,7 @@ public: static const IfcParse::entity& Class(); IfcSubedge (IfcEntityInstanceData* e); IfcSubedge (::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc4::IfcEdge* v3_ParentEdge); - typedef IfcTemplatedEntityList< IfcSubedge > list; + typedef aggregate_of< IfcSubedge > list; }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -19041,7 +18314,7 @@ public: static const IfcParse::entity& Class(); IfcSurface (IfcEntityInstanceData* e); IfcSurface (); - typedef IfcTemplatedEntityList< IfcSurface > list; + typedef aggregate_of< IfcSurface > list; }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -19090,43 +18363,31 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - /// Whether the optional attribute DiffuseColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseColour() const; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. /// The diffuse factor field specifies how much diffuse light from light sources this surface shall reflect. Diffuse light depends on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. The diffuse colour is then defined by surface colour * diffuse factor. ::Ifc4x3_rc4::IfcColourOrFactor* DiffuseColour() const; void setDiffuseColour(::Ifc4x3_rc4::IfcColourOrFactor* v); - /// Whether the optional attribute TransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasTransmissionColour() const; /// The transmissive part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials which Transparency field is greater than zero. /// The transmissive colour field specifies the colour that passes through a transparant material (like the colour that shines through a glass). /// The transmissive factor defines the transmissive part, the transmissive colour is then defined by surface colour * transmissive factor. ::Ifc4x3_rc4::IfcColourOrFactor* TransmissionColour() const; void setTransmissionColour(::Ifc4x3_rc4::IfcColourOrFactor* v); - /// Whether the optional attribute DiffuseTransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseTransmissionColour() const; /// The diffuse transmission part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials whose Transparency field is greater than zero. /// The diffuse transmission colour specifies how much diffuse light is reflected at the opposite side of the material surface. /// The diffuse transmission factor field specifies how much diffuse light from light sources this surface shall reflect on the opposite side of the material surface. The diffuse transmissive colour is then defined by surface colour * diffuse transmissive factor. ::Ifc4x3_rc4::IfcColourOrFactor* DiffuseTransmissionColour() const; void setDiffuseTransmissionColour(::Ifc4x3_rc4::IfcColourOrFactor* v); - /// Whether the optional attribute ReflectionColour is defined for this IfcSurfaceStyleRendering - bool hasReflectionColour() const; /// The reflection (or mirror) part of the reflectance equation can be given as either a colour or a scalar factor. Applies to "glass" and "mirror" reflection models. /// The reflection colour specifies the contribution made by light from the mirror direction, i.e. light being reflected from the surface. /// The reflection factor specifies the amount of contribution made by light from the mirror direction. The reflection colour is then defined by surface colour * reflection factor. ::Ifc4x3_rc4::IfcColourOrFactor* ReflectionColour() const; void setReflectionColour(::Ifc4x3_rc4::IfcColourOrFactor* v); - /// Whether the optional attribute SpecularColour is defined for this IfcSurfaceStyleRendering - bool hasSpecularColour() const; /// The specular part of the reflectance equation can be given as either a colour or a scalar factor. /// The specular colour determine the specular highlights (e.g., the shiny spots on an apple). When the angle from the light to the surface is close to the angle from the surface to the viewer, the specular colour is added to the diffuse and ambient colour calculations. /// The specular factor defines the specular part, the specular colour is then defined by surface colour * specular factor. ::Ifc4x3_rc4::IfcColourOrFactor* SpecularColour() const; void setSpecularColour(::Ifc4x3_rc4::IfcColourOrFactor* v); - /// Whether the optional attribute SpecularHighlight is defined for this IfcSurfaceStyleRendering - bool hasSpecularHighlight() const; /// The exponent or roughness part of the specular reflectance. ::Ifc4x3_rc4::IfcSpecularHighlightSelect* SpecularHighlight() const; void setSpecularHighlight(::Ifc4x3_rc4::IfcSpecularHighlightSelect* v); @@ -19137,7 +18398,7 @@ public: static const IfcParse::entity& Class(); IfcSurfaceStyleRendering (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering > list; + typedef aggregate_of< IfcSurfaceStyleRendering > list; }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -19162,8 +18423,6 @@ public: /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x3_rc4::IfcProfileDef* SweptArea() const; void setSweptArea(::Ifc4x3_rc4::IfcProfileDef* v); - /// Whether the optional attribute Position is defined for this IfcSweptAreaSolid - bool hasPosition() const; /// Position coordinate system for the swept area, provided by a profile definition within the XY plane of the Position. ::Ifc4x3_rc4::IfcAxis2Placement3D* Position() const; void setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v); @@ -19171,7 +18430,7 @@ public: static const IfcParse::entity& Class(); IfcSweptAreaSolid (IfcEntityInstanceData* e); IfcSweptAreaSolid (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position); - typedef IfcTemplatedEntityList< IfcSweptAreaSolid > list; + typedef aggregate_of< IfcSweptAreaSolid > list; }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -19234,30 +18493,24 @@ public: /// The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied. double Radius() const; void setRadius(double v); - /// Whether the optional attribute InnerRadius is defined for this IfcSweptDiskSolid - bool hasInnerRadius() const; /// This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk. - double InnerRadius() const; - void setInnerRadius(double v); - /// Whether the optional attribute StartParam is defined for this IfcSweptDiskSolid - bool hasStartParam() const; + boost::optional< double > InnerRadius() const; + void setInnerRadius(boost::optional< double > v); /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - double StartParam() const; - void setStartParam(double v); - /// Whether the optional attribute EndParam is defined for this IfcSweptDiskSolid - bool hasEndParam() const; + boost::optional< double > StartParam() const; + void setStartParam(boost::optional< double > v); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - double EndParam() const; - void setEndParam(double v); + boost::optional< double > EndParam() const; + void setEndParam(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSweptDiskSolid (IfcEntityInstanceData* e); IfcSweptDiskSolid (::Ifc4x3_rc4::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam); - typedef IfcTemplatedEntityList< IfcSweptDiskSolid > list; + typedef aggregate_of< IfcSweptDiskSolid > list; }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -19271,16 +18524,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - /// Whether the optional attribute FilletRadius is defined for this IfcSweptDiskSolidPolygonal - bool hasFilletRadius() const; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. - double FilletRadius() const; - void setFilletRadius(double v); + boost::optional< double > FilletRadius() const; + void setFilletRadius(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSweptDiskSolidPolygonal (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcSweptDiskSolidPolygonal > list; + typedef aggregate_of< IfcSweptDiskSolidPolygonal > list; }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -19292,8 +18543,6 @@ public: /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x3_rc4::IfcProfileDef* SweptCurve() const; void setSweptCurve(::Ifc4x3_rc4::IfcProfileDef* v); - /// Whether the optional attribute Position is defined for this IfcSweptSurface - bool hasPosition() const; /// Position coordinate system for the placement of the profile within the xy plane of the axis placement. ::Ifc4x3_rc4::IfcAxis2Placement3D* Position() const; void setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v); @@ -19301,7 +18550,7 @@ public: static const IfcParse::entity& Class(); IfcSweptSurface (IfcEntityInstanceData* e); IfcSweptSurface (::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position); - typedef IfcTemplatedEntityList< IfcSweptSurface > list; + typedef aggregate_of< IfcSweptSurface > list; }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -19345,36 +18594,26 @@ public: /// Constant wall thickness of flange (= tg). double FlangeThickness() const; void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcTShapeProfileDef - bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcTShapeProfileDef - bool hasFlangeEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void setFilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double FlangeEdgeRadius() const; - void setFlangeEdgeRadius(double v); - /// Whether the optional attribute WebEdgeRadius is defined for this IfcTShapeProfileDef - bool hasWebEdgeRadius() const; + boost::optional< double > FlangeEdgeRadius() const; + void setFlangeEdgeRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r3). - double WebEdgeRadius() const; - void setWebEdgeRadius(double v); - /// Whether the optional attribute WebSlope is defined for this IfcTShapeProfileDef - bool hasWebSlope() const; + boost::optional< double > WebEdgeRadius() const; + void setWebEdgeRadius(boost::optional< double > v); /// Slope of flange of the profile. - double WebSlope() const; - void setWebSlope(double v); - /// Whether the optional attribute FlangeSlope is defined for this IfcTShapeProfileDef - bool hasFlangeSlope() const; + boost::optional< double > WebSlope() const; + void setWebSlope(boost::optional< double > v); /// Slope of web of the profile. - double FlangeSlope() const; - void setFlangeSlope(double v); + boost::optional< double > FlangeSlope() const; + void setFlangeSlope(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTShapeProfileDef (IfcEntityInstanceData* e); IfcTShapeProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope); - typedef IfcTemplatedEntityList< IfcTShapeProfileDef > list; + typedef aggregate_of< IfcTShapeProfileDef > list; }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { @@ -19383,7 +18622,7 @@ public: static const IfcParse::entity& Class(); IfcTessellatedItem (IfcEntityInstanceData* e); IfcTessellatedItem (); - typedef IfcTemplatedEntityList< IfcTessellatedItem > list; + typedef aggregate_of< IfcTessellatedItem > list; }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -19411,7 +18650,7 @@ public: static const IfcParse::entity& Class(); IfcTextLiteral (IfcEntityInstanceData* e); IfcTextLiteral (std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path); - typedef IfcTemplatedEntityList< IfcTextLiteral > list; + typedef aggregate_of< IfcTextLiteral > list; }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -19434,7 +18673,7 @@ public: static const IfcParse::entity& Class(); IfcTextLiteralWithExtent (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcTextLiteralWithExtent > list; + typedef aggregate_of< IfcTextLiteralWithExtent > list; }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -19506,23 +18745,17 @@ public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; void setFontFamily(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute FontStyle is defined for this IfcTextStyleFontModel - bool hasFontStyle() const; /// The font style property selects between normal (sometimes referred to as "roman" or "upright"), italic and oblique faces within a font family. - std::string FontStyle() const; - void setFontStyle(std::string v); - /// Whether the optional attribute FontVariant is defined for this IfcTextStyleFontModel - bool hasFontVariant() const; + boost::optional< std::string > FontStyle() const; + void setFontStyle(boost::optional< std::string > v); /// The font variant property selects between normal and small-caps. /// NOTE  It has been introduced for later compliance to full CSS1 support. - std::string FontVariant() const; - void setFontVariant(std::string v); - /// Whether the optional attribute FontWeight is defined for this IfcTextStyleFontModel - bool hasFontWeight() const; + boost::optional< std::string > FontVariant() const; + void setFontVariant(boost::optional< std::string > v); /// The font weight property selects the weight of the font. /// NOTE  Values other then 'normal' and 'bold' have been introduced for later compliance to full CSS1 support. - std::string FontWeight() const; - void setFontWeight(std::string v); + boost::optional< std::string > FontWeight() const; + void setFontWeight(boost::optional< std::string > v); /// The font size provides the size or height of the text font. /// NOTE  The following values are allowed, /*[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); - typedef IfcTemplatedEntityList< IfcTextStyleFontModel > list; + typedef aggregate_of< IfcTextStyleFontModel > list; }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -19589,7 +18822,7 @@ public: static const IfcParse::entity& Class(); IfcTrapeziumProfileDef (IfcEntityInstanceData* e); IfcTrapeziumProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); - typedef IfcTemplatedEntityList< IfcTrapeziumProfileDef > list; + typedef aggregate_of< IfcTrapeziumProfileDef > list; }; /// The object type defines the /// specific information about a type, being common to all @@ -19624,8 +18857,6 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - /// Whether the optional attribute ApplicableOccurrence is defined for this IfcTypeObject - bool hasApplicableOccurrence() const; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// /// The IFC entity name of the applicable occurrence using the IFC naming convention, CamelCase with IFC prefix @@ -19633,21 +18864,19 @@ public: /// If one type object is applicable to many occurrence objects, then those occurrence object names should be separate by comma "," forming a comma separated string. /// /// EXAMPLE Refering to a furniture as applicable occurrence entity would be expressed as 'IfcFurnishingElement', refering to a brace as applicable entity would be expressed as 'IfcMember/BRACE', refering to a wall and wall standard case would be expressed as 'IfcWall, IfcWallStandardCase'. - std::string ApplicableOccurrence() const; - void setApplicableOccurrence(std::string v); - /// Whether the optional attribute HasPropertySets is defined for this IfcTypeObject - bool hasHasPropertySets() const; + boost::optional< std::string > ApplicableOccurrence() const; + void setApplicableOccurrence(boost::optional< std::string > v); /// Set list of unique property sets, that are associated with the object type and are common to all object occurrences referring to this object type. /// /// IFC2x3 CHANGE  The attribute aggregate type has been changed from LIST to SET. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr HasPropertySets() const; - void setHasPropertySets(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v); - IfcTemplatedEntityList< IfcRelDefinesByType >::ptr Types() const; // INVERSE IfcRelDefinesByType::RelatingType + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > HasPropertySets() const; + void setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v); + aggregate_of< IfcRelDefinesByType >::ptr Types() const; // INVERSE IfcRelDefinesByType::RelatingType virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTypeObject (IfcEntityInstanceData* e); - IfcTypeObject (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets); - typedef IfcTemplatedEntityList< IfcTypeObject > list; + IfcTypeObject (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); + typedef aggregate_of< IfcTypeObject > list; }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -19679,29 +18908,23 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - /// Whether the optional attribute Identification is defined for this IfcTypeProcess - bool hasIdentification() const; /// An identifying designation given to a process type. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcTypeProcess - bool hasLongDescription() const; + boost::optional< std::string > Identification() const; + void setIdentification(boost::optional< std::string > v); /// An long description, or text, describing the activity in detail. /// /// NOTE The inherited SELF\IfcRoot.Description attribute is used as the short description. - std::string LongDescription() const; - void setLongDescription(std::string v); - /// Whether the optional attribute ProcessType is defined for this IfcTypeProcess - bool hasProcessType() const; + boost::optional< std::string > LongDescription() const; + void setLongDescription(boost::optional< std::string > v); /// The type denotes a particular type that indicates the process further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - std::string ProcessType() const; - void setProcessType(std::string v); - IfcTemplatedEntityList< IfcRelAssignsToProcess >::ptr OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess + boost::optional< std::string > ProcessType() const; + void setProcessType(boost::optional< std::string > v); + aggregate_of< IfcRelAssignsToProcess >::ptr OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTypeProcess (IfcEntityInstanceData* e); - IfcTypeProcess (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType); - typedef IfcTemplatedEntityList< IfcTypeProcess > list; + IfcTypeProcess (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_ProcessType); + typedef aggregate_of< IfcTypeProcess > list; }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -19771,22 +18994,18 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - /// Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct - bool hasRepresentationMaps() const; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr RepresentationMaps() const; - void setRepresentationMaps(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr v); - /// Whether the optional attribute Tag is defined for this IfcTypeProduct - bool hasTag() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > RepresentationMaps() const; + void setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v); /// The tag (or label) identifier at the particular type of a product, e.g. the article number (like the EAN). It is the identifier at the specific level. - std::string Tag() const; - void setTag(std::string v); - IfcTemplatedEntityList< IfcRelAssignsToProduct >::ptr ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct + boost::optional< std::string > Tag() const; + void setTag(boost::optional< std::string > v); + aggregate_of< IfcRelAssignsToProduct >::ptr ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTypeProduct (IfcEntityInstanceData* e); - IfcTypeProduct (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag); - typedef IfcTemplatedEntityList< IfcTypeProduct > list; + IfcTypeProduct (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); + typedef aggregate_of< IfcTypeProduct > list; }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -19802,29 +19021,23 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - /// Whether the optional attribute Identification is defined for this IfcTypeResource - bool hasIdentification() const; /// An identifying designation given to a resource type. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcTypeResource - bool hasLongDescription() const; + boost::optional< std::string > Identification() const; + void setIdentification(boost::optional< std::string > v); /// An long description, or text, describing the resource in detail. /// /// NOTE The inherited SELF\IfcRoot.Description attribute is used as the short description. - std::string LongDescription() const; - void setLongDescription(std::string v); - /// Whether the optional attribute ResourceType is defined for this IfcTypeResource - bool hasResourceType() const; + boost::optional< std::string > LongDescription() const; + void setLongDescription(boost::optional< std::string > v); /// The type denotes a particular type that indicates the resource further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - std::string ResourceType() const; - void setResourceType(std::string v); - IfcTemplatedEntityList< IfcRelAssignsToResource >::ptr ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource + boost::optional< std::string > ResourceType() const; + void setResourceType(boost::optional< std::string > v); + aggregate_of< IfcRelAssignsToResource >::ptr ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTypeResource (IfcEntityInstanceData* e); - IfcTypeResource (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType); - typedef IfcTemplatedEntityList< IfcTypeResource > list; + IfcTypeResource (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); + typedef aggregate_of< IfcTypeResource > list; }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -19868,26 +19081,20 @@ public: /// Constant wall thickness of flange (= tg). double FlangeThickness() const; void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcUShapeProfileDef - bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute EdgeRadius is defined for this IfcUShapeProfileDef - bool hasEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void setFilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double EdgeRadius() const; - void setEdgeRadius(double v); - /// Whether the optional attribute FlangeSlope is defined for this IfcUShapeProfileDef - bool hasFlangeSlope() const; + boost::optional< double > EdgeRadius() const; + void setEdgeRadius(boost::optional< double > v); /// Slope of flange of the profile. - double FlangeSlope() const; - void setFlangeSlope(double v); + boost::optional< double > FlangeSlope() const; + void setFlangeSlope(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUShapeProfileDef (IfcEntityInstanceData* e); IfcUShapeProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope); - typedef IfcTemplatedEntityList< IfcUShapeProfileDef > list; + typedef aggregate_of< IfcUShapeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -19908,7 +19115,7 @@ public: static const IfcParse::entity& Class(); IfcVector (IfcEntityInstanceData* e); IfcVector (::Ifc4x3_rc4::IfcDirection* v1_Orientation, double v2_Magnitude); - typedef IfcTemplatedEntityList< IfcVector > list; + typedef aggregate_of< IfcVector > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -19931,7 +19138,7 @@ public: static const IfcParse::entity& Class(); IfcVertexLoop (IfcEntityInstanceData* e); IfcVertexLoop (::Ifc4x3_rc4::IfcVertex* v1_LoopVertex); - typedef IfcTemplatedEntityList< IfcVertexLoop > list; + typedef aggregate_of< IfcVertexLoop > list; }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -19968,8 +19175,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWindowStyle (IfcEntityInstanceData* e); - IfcWindowStyle (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); - typedef IfcTemplatedEntityList< IfcWindowStyle > list; + IfcWindowStyle (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, ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + typedef aggregate_of< IfcWindowStyle > list; }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -20010,21 +19217,17 @@ public: /// Constant wall thickness of flange, see illustration above (= tg). double FlangeThickness() const; void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcZShapeProfileDef - bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute EdgeRadius is defined for this IfcZShapeProfileDef - bool hasEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void setFilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double EdgeRadius() const; - void setEdgeRadius(double v); + boost::optional< double > EdgeRadius() const; + void setEdgeRadius(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcZShapeProfileDef (IfcEntityInstanceData* e); IfcZShapeProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius); - typedef IfcTemplatedEntityList< IfcZShapeProfileDef > list; + typedef aggregate_of< IfcZShapeProfileDef > list; }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -20044,8 +19247,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAdvancedFace (IfcEntityInstanceData* e); - IfcAdvancedFace (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense); - typedef IfcTemplatedEntityList< IfcAdvancedFace > list; + IfcAdvancedFace (aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense); + typedef aggregate_of< IfcAdvancedFace > list; }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -20074,18 +19277,16 @@ public: /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. ::Ifc4x3_rc4::IfcCurve* OuterBoundary() const; void setOuterBoundary(::Ifc4x3_rc4::IfcCurve* v); - /// Whether the optional attribute InnerBoundaries is defined for this IfcAnnotationFillArea - bool hasInnerBoundaries() const; /// A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style. /// /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr InnerBoundaries() const; - void setInnerBoundaries(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > InnerBoundaries() const; + void setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAnnotationFillArea (IfcEntityInstanceData* e); - IfcAnnotationFillArea (::Ifc4x3_rc4::IfcCurve* v1_OuterBoundary, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr > v2_InnerBoundaries); - typedef IfcTemplatedEntityList< IfcAnnotationFillArea > list; + IfcAnnotationFillArea (::Ifc4x3_rc4::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > v2_InnerBoundaries); + typedef aggregate_of< IfcAnnotationFillArea > list; }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -20134,44 +19335,30 @@ public: void setWebThickness(double v); double BottomFlangeThickness() const; void setBottomFlangeThickness(double v); - /// Whether the optional attribute BottomFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasBottomFlangeFilletRadius() const; - double BottomFlangeFilletRadius() const; - void setBottomFlangeFilletRadius(double v); + boost::optional< double > BottomFlangeFilletRadius() const; + void setBottomFlangeFilletRadius(boost::optional< double > v); /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. double TopFlangeWidth() const; void setTopFlangeWidth(double v); - /// Whether the optional attribute TopFlangeThickness is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeThickness() const; /// Flange thickness of the top flange of the I-shape. - double TopFlangeThickness() const; - void setTopFlangeThickness(double v); - /// Whether the optional attribute TopFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeFilletRadius() const; + boost::optional< double > TopFlangeThickness() const; + void setTopFlangeThickness(boost::optional< double > v); /// The fillet between the web and the top flange of the I-shape. - double TopFlangeFilletRadius() const; - void setTopFlangeFilletRadius(double v); - /// Whether the optional attribute BottomFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasBottomFlangeEdgeRadius() const; - double BottomFlangeEdgeRadius() const; - void setBottomFlangeEdgeRadius(double v); - /// Whether the optional attribute BottomFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef - bool hasBottomFlangeSlope() const; - double BottomFlangeSlope() const; - void setBottomFlangeSlope(double v); - /// Whether the optional attribute TopFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeEdgeRadius() const; - double TopFlangeEdgeRadius() const; - void setTopFlangeEdgeRadius(double v); - /// Whether the optional attribute TopFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeSlope() const; - double TopFlangeSlope() const; - void setTopFlangeSlope(double v); + boost::optional< double > TopFlangeFilletRadius() const; + void setTopFlangeFilletRadius(boost::optional< double > v); + boost::optional< double > BottomFlangeEdgeRadius() const; + void setBottomFlangeEdgeRadius(boost::optional< double > v); + boost::optional< double > BottomFlangeSlope() const; + void setBottomFlangeSlope(boost::optional< double > v); + boost::optional< double > TopFlangeEdgeRadius() const; + void setTopFlangeEdgeRadius(boost::optional< double > v); + boost::optional< double > TopFlangeSlope() const; + void setTopFlangeSlope(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAsymmetricIShapeProfileDef (IfcEntityInstanceData* e); IfcAsymmetricIShapeProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, boost::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_BottomFlangeEdgeRadius, boost::optional< double > v13_BottomFlangeSlope, boost::optional< double > v14_TopFlangeEdgeRadius, boost::optional< double > v15_TopFlangeSlope); - typedef IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef > list; + typedef aggregate_of< IfcAsymmetricIShapeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -20184,8 +19371,6 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - /// Whether the optional attribute Axis is defined for this IfcAxis1Placement - bool hasAxis() const; /// The direction of the local Z axis. ::Ifc4x3_rc4::IfcDirection* Axis() const; void setAxis(::Ifc4x3_rc4::IfcDirection* v); @@ -20193,7 +19378,7 @@ public: static const IfcParse::entity& Class(); IfcAxis1Placement (IfcEntityInstanceData* e); IfcAxis1Placement (::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis); - typedef IfcTemplatedEntityList< IfcAxis1Placement > list; + typedef aggregate_of< IfcAxis1Placement > list; }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -20208,8 +19393,6 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement2D - bool hasRefDirection() const; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x3_rc4::IfcDirection* RefDirection() const; void setRefDirection(::Ifc4x3_rc4::IfcDirection* v); @@ -20217,7 +19400,7 @@ public: static const IfcParse::entity& Class(); IfcAxis2Placement2D (IfcEntityInstanceData* e); IfcAxis2Placement2D (::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_RefDirection); - typedef IfcTemplatedEntityList< IfcAxis2Placement2D > list; + typedef aggregate_of< IfcAxis2Placement2D > list; }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -20234,13 +19417,9 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - /// Whether the optional attribute Axis is defined for this IfcAxis2Placement3D - bool hasAxis() const; /// The exact direction of the local Z Axis. ::Ifc4x3_rc4::IfcDirection* Axis() const; void setAxis(::Ifc4x3_rc4::IfcDirection* v); - /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement3D - bool hasRefDirection() const; /// The direction used to determine the direction of the local X Axis. If necessary an adjustment is made to maintain orthogonality to the Axis direction. If Axis and/or RefDirection is omitted, these directions are taken from the geometric coordinate system. ::Ifc4x3_rc4::IfcDirection* RefDirection() const; void setRefDirection(::Ifc4x3_rc4::IfcDirection* v); @@ -20248,24 +19427,20 @@ public: static const IfcParse::entity& Class(); IfcAxis2Placement3D (IfcEntityInstanceData* e); IfcAxis2Placement3D (::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis, ::Ifc4x3_rc4::IfcDirection* v3_RefDirection); - typedef IfcTemplatedEntityList< IfcAxis2Placement3D > list; + typedef aggregate_of< IfcAxis2Placement3D > list; }; class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: - /// Whether the optional attribute Axis is defined for this IfcAxis2PlacementLinear - bool hasAxis() const; ::Ifc4x3_rc4::IfcDirection* Axis() const; void setAxis(::Ifc4x3_rc4::IfcDirection* v); - /// Whether the optional attribute RefDirection is defined for this IfcAxis2PlacementLinear - bool hasRefDirection() const; ::Ifc4x3_rc4::IfcDirection* RefDirection() const; void setRefDirection(::Ifc4x3_rc4::IfcDirection* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAxis2PlacementLinear (IfcEntityInstanceData* e); IfcAxis2PlacementLinear (::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis, ::Ifc4x3_rc4::IfcDirection* v3_RefDirection); - typedef IfcTemplatedEntityList< IfcAxis2PlacementLinear > list; + typedef aggregate_of< IfcAxis2PlacementLinear > list; }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -20308,7 +19483,7 @@ public: static const IfcParse::entity& Class(); IfcBooleanResult (IfcEntityInstanceData* e); IfcBooleanResult (::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand* v3_SecondOperand); - typedef IfcTemplatedEntityList< IfcBooleanResult > list; + typedef aggregate_of< IfcBooleanResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -20328,7 +19503,7 @@ public: static const IfcParse::entity& Class(); IfcBoundedSurface (IfcEntityInstanceData* e); IfcBoundedSurface (); - typedef IfcTemplatedEntityList< IfcBoundedSurface > list; + typedef aggregate_of< IfcBoundedSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -20370,7 +19545,7 @@ public: static const IfcParse::entity& Class(); IfcBoundingBox (IfcEntityInstanceData* e); IfcBoundingBox (::Ifc4x3_rc4::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); - typedef IfcTemplatedEntityList< IfcBoundingBox > list; + typedef aggregate_of< IfcBoundingBox > list; }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -20411,7 +19586,7 @@ public: static const IfcParse::entity& Class(); IfcBoxedHalfSpace (IfcEntityInstanceData* e); IfcBoxedHalfSpace (::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcBoundingBox* v3_Enclosure); - typedef IfcTemplatedEntityList< IfcBoxedHalfSpace > list; + typedef aggregate_of< IfcBoxedHalfSpace > list; }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -20449,16 +19624,14 @@ public: /// Lengths of girth, see illustration above (= c). double Girth() const; void setGirth(double v); - /// Whether the optional attribute InternalFilletRadius is defined for this IfcCShapeProfileDef - bool hasInternalFilletRadius() const; /// Internal fillet radius according the above illustration (= r1). - double InternalFilletRadius() const; - void setInternalFilletRadius(double v); + boost::optional< double > InternalFilletRadius() const; + void setInternalFilletRadius(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCShapeProfileDef (IfcEntityInstanceData* e); IfcCShapeProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius); - typedef IfcTemplatedEntityList< IfcCShapeProfileDef > list; + typedef aggregate_of< IfcCShapeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -20476,7 +19649,7 @@ public: static const IfcParse::entity& Class(); IfcCartesianPoint (IfcEntityInstanceData* e); IfcCartesianPoint (std::vector< double > /*[1:3]*/ v1_Coordinates); - typedef IfcTemplatedEntityList< IfcCartesianPoint > list; + typedef aggregate_of< IfcCartesianPoint > list; }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { @@ -20485,37 +19658,33 @@ public: static const IfcParse::entity& Class(); IfcCartesianPointList (IfcEntityInstanceData* e); IfcCartesianPointList (); - typedef IfcTemplatedEntityList< IfcCartesianPointList > list; + typedef aggregate_of< IfcCartesianPointList > list; }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); - /// Whether the optional attribute TagList is defined for this IfcCartesianPointList2D - bool hasTagList() const; - std::vector< std::string > /*[1:?]*/ TagList() const; - void setTagList(std::vector< std::string > /*[1:?]*/ v); + boost::optional< std::vector< std::string > /*[1:?]*/ > TagList() const; + void setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCartesianPointList2D (IfcEntityInstanceData* e); IfcCartesianPointList2D (std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); - typedef IfcTemplatedEntityList< IfcCartesianPointList2D > list; + typedef aggregate_of< IfcCartesianPointList2D > list; }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; void setCoordList(std::vector< std::vector< double > > v); - /// Whether the optional attribute TagList is defined for this IfcCartesianPointList3D - bool hasTagList() const; - std::vector< std::string > /*[1:?]*/ TagList() const; - void setTagList(std::vector< std::string > /*[1:?]*/ v); + boost::optional< std::vector< std::string > /*[1:?]*/ > TagList() const; + void setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCartesianPointList3D (IfcEntityInstanceData* e); IfcCartesianPointList3D (std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); - typedef IfcTemplatedEntityList< IfcCartesianPointList3D > list; + typedef aggregate_of< IfcCartesianPointList3D > list; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -20549,29 +19718,23 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - /// Whether the optional attribute Axis1 is defined for this IfcCartesianTransformationOperator - bool hasAxis1() const; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_rc4::IfcDirection* Axis1() const; void setAxis1(::Ifc4x3_rc4::IfcDirection* v); - /// Whether the optional attribute Axis2 is defined for this IfcCartesianTransformationOperator - bool hasAxis2() const; /// The direction used to determine U[2], the derived Y axis direction. ::Ifc4x3_rc4::IfcDirection* Axis2() const; void setAxis2(::Ifc4x3_rc4::IfcDirection* v); /// The required translation, specified as a cartesian point. The actual translation included in the transformation is from the geometric origin to the local origin. ::Ifc4x3_rc4::IfcCartesianPoint* LocalOrigin() const; void setLocalOrigin(::Ifc4x3_rc4::IfcCartesianPoint* v); - /// Whether the optional attribute Scale is defined for this IfcCartesianTransformationOperator - bool hasScale() const; /// The scaling value specified for the transformation. - double Scale() const; - void setScale(double v); + boost::optional< double > Scale() const; + void setScale(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCartesianTransformationOperator (IfcEntityInstanceData* e); IfcCartesianTransformationOperator (::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator > list; + typedef aggregate_of< IfcCartesianTransformationOperator > list; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -20584,7 +19747,7 @@ public: static const IfcParse::entity& Class(); IfcCartesianTransformationOperator2D (IfcEntityInstanceData* e); IfcCartesianTransformationOperator2D (::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2D > list; + typedef aggregate_of< IfcCartesianTransformationOperator2D > list; }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -20598,16 +19761,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator2DnonUniform - bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2() const; - void setScale2(double v); + boost::optional< double > Scale2() const; + void setScale2(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCartesianTransformationOperator2DnonUniform (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2DnonUniform > list; + typedef aggregate_of< IfcCartesianTransformationOperator2DnonUniform > list; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -20616,8 +19777,6 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - /// Whether the optional attribute Axis3 is defined for this IfcCartesianTransformationOperator3D - bool hasAxis3() const; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_rc4::IfcDirection* Axis3() const; void setAxis3(::Ifc4x3_rc4::IfcDirection* v); @@ -20625,7 +19784,7 @@ public: static const IfcParse::entity& Class(); IfcCartesianTransformationOperator3D (IfcEntityInstanceData* e); IfcCartesianTransformationOperator3D (::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection* v5_Axis3); - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3D > list; + typedef aggregate_of< IfcCartesianTransformationOperator3D > list; }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -20640,21 +19799,17 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2() const; - void setScale2(double v); - /// Whether the optional attribute Scale3 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale3() const; + boost::optional< double > Scale2() const; + void setScale2(boost::optional< double > v); /// The scaling value specified for the transformation along the axis 3. This is normally the z scale factor. - double Scale3() const; - void setScale3(double v); + boost::optional< double > Scale3() const; + void setScale3(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCartesianTransformationOperator3DnonUniform (IfcEntityInstanceData* e); IfcCartesianTransformationOperator3DnonUniform (::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3); - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3DnonUniform > list; + typedef aggregate_of< IfcCartesianTransformationOperator3DnonUniform > list; }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -20677,7 +19832,7 @@ public: static const IfcParse::entity& Class(); IfcCircleProfileDef (IfcEntityInstanceData* e); IfcCircleProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Radius); - typedef IfcTemplatedEntityList< IfcCircleProfileDef > list; + typedef aggregate_of< IfcCircleProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -20733,8 +19888,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcClosedShell (IfcEntityInstanceData* e); - IfcClosedShell (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces); - typedef IfcTemplatedEntityList< IfcClosedShell > list; + IfcClosedShell (aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces); + typedef aggregate_of< IfcClosedShell > list; }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -20765,7 +19920,7 @@ public: static const IfcParse::entity& Class(); IfcColourRgb (IfcEntityInstanceData* e); IfcColourRgb (boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); - typedef IfcTemplatedEntityList< IfcColourRgb > list; + typedef aggregate_of< IfcColourRgb > list; }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -20779,13 +19934,13 @@ public: std::string UsageName() const; void setUsageName(std::string v); /// Set of properties that can be used within this complex property (may include other complex properties). - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr HasProperties() const; - void setHasProperties(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr HasProperties() const; + void setHasProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcComplexProperty (IfcEntityInstanceData* e); - IfcComplexProperty (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v4_HasProperties); - typedef IfcTemplatedEntityList< IfcComplexProperty > list; + IfcComplexProperty (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v4_HasProperties); + typedef aggregate_of< IfcComplexProperty > list; }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -20808,7 +19963,7 @@ public: static const IfcParse::entity& Class(); IfcCompositeCurveSegment (IfcEntityInstanceData* e); IfcCompositeCurveSegment (::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve* v3_ParentCurve); - typedef IfcTemplatedEntityList< IfcCompositeCurveSegment > list; + typedef aggregate_of< IfcCompositeCurveSegment > list; }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -20827,19 +19982,15 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - /// Whether the optional attribute BaseCosts is defined for this IfcConstructionResourceType - bool hasBaseCosts() const; - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr BaseCosts() const; - void setBaseCosts(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr v); - /// Whether the optional attribute BaseQuantity is defined for this IfcConstructionResourceType - bool hasBaseQuantity() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > BaseCosts() const; + void setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v); ::Ifc4x3_rc4::IfcPhysicalQuantity* BaseQuantity() const; void setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstructionResourceType (IfcEntityInstanceData* e); - IfcConstructionResourceType (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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity); - typedef IfcTemplatedEntityList< IfcConstructionResourceType > list; + IfcConstructionResourceType (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); + typedef aggregate_of< IfcConstructionResourceType > list; }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -20856,42 +20007,32 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - /// Whether the optional attribute ObjectType is defined for this IfcContext - bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. - std::string ObjectType() const; - void setObjectType(std::string v); - /// Whether the optional attribute LongName is defined for this IfcContext - bool hasLongName() const; + boost::optional< std::string > ObjectType() const; + void setObjectType(boost::optional< std::string > v); /// Long name for the context as used for reference purposes. - std::string LongName() const; - void setLongName(std::string v); - /// Whether the optional attribute Phase is defined for this IfcContext - bool hasPhase() const; + boost::optional< std::string > LongName() const; + void setLongName(boost::optional< std::string > v); /// Current project phase, or life-cycle phase of this project. Applicable values have to be agreed upon by view definitions or implementer agreements. - std::string Phase() const; - void setPhase(std::string v); - /// Whether the optional attribute RepresentationContexts is defined for this IfcContext - bool hasRepresentationContexts() const; + boost::optional< std::string > Phase() const; + void setPhase(boost::optional< std::string > v); /// Context of the representations used within the context. When the context is a project and it includes shape representations for its components, one or several geometric representation contexts need to be included that define e.g. the world coordinate system, the coordinate space dimensions, and/or the precision factor. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. Change made with upward compatibility for file based exchange. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr RepresentationContexts() const; - void setRepresentationContexts(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr v); - /// Whether the optional attribute UnitsInContext is defined for this IfcContext - bool hasUnitsInContext() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > RepresentationContexts() const; + void setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v); /// Units globally assigned to measure types used within the context. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. Change made with upward compatibility for file based exchange. ::Ifc4x3_rc4::IfcUnitAssignment* UnitsInContext() const; void setUnitsInContext(::Ifc4x3_rc4::IfcUnitAssignment* v); - IfcTemplatedEntityList< IfcRelDefinesByProperties >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects - IfcTemplatedEntityList< IfcRelDeclares >::ptr Declares() const; // INVERSE IfcRelDeclares::RelatingContext + aggregate_of< IfcRelDefinesByProperties >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects + aggregate_of< IfcRelDeclares >::ptr Declares() const; // INVERSE IfcRelDeclares::RelatingContext virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcContext (IfcEntityInstanceData* e); - IfcContext (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_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext); - typedef IfcTemplatedEntityList< IfcContext > list; + IfcContext (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_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext); + typedef aggregate_of< IfcContext > list; }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -20911,8 +20052,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCrewResourceType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType); - typedef IfcTemplatedEntityList< IfcCrewResourceType > list; + 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); + typedef aggregate_of< IfcCrewResourceType > list; }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -20928,7 +20069,7 @@ public: static const IfcParse::entity& Class(); IfcCsgPrimitive3D (IfcEntityInstanceData* e); IfcCsgPrimitive3D (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position); - typedef IfcTemplatedEntityList< IfcCsgPrimitive3D > list; + typedef aggregate_of< IfcCsgPrimitive3D > list; }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -20980,7 +20121,7 @@ public: static const IfcParse::entity& Class(); IfcCsgSolid (IfcEntityInstanceData* e); IfcCsgSolid (::Ifc4x3_rc4::IfcCsgSelect* v1_TreeRootExpression); - typedef IfcTemplatedEntityList< IfcCsgSolid > list; + typedef aggregate_of< IfcCsgSolid > list; }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -20998,7 +20139,7 @@ public: static const IfcParse::entity& Class(); IfcCurve (IfcEntityInstanceData* e); IfcCurve (); - typedef IfcTemplatedEntityList< IfcCurve > list; + typedef aggregate_of< IfcCurve > list; }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -21022,13 +20163,13 @@ public: ::Ifc4x3_rc4::IfcCurve* OuterBoundary() const; void setOuterBoundary(::Ifc4x3_rc4::IfcCurve* v); /// An optional set of inner boundaries. They shall not intersect each other or the outer boundary. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr InnerBoundaries() const; - void setInnerBoundaries(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr InnerBoundaries() const; + void setInnerBoundaries(aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCurveBoundedPlane (IfcEntityInstanceData* e); - IfcCurveBoundedPlane (::Ifc4x3_rc4::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_OuterBoundary, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCurve >::ptr v3_InnerBoundaries); - typedef IfcTemplatedEntityList< IfcCurveBoundedPlane > list; + IfcCurveBoundedPlane (::Ifc4x3_rc4::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v3_InnerBoundaries); + typedef aggregate_of< IfcCurveBoundedPlane > list; }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -21057,15 +20198,15 @@ public: ::Ifc4x3_rc4::IfcSurface* BasisSurface() const; void setBasisSurface(::Ifc4x3_rc4::IfcSurface* v); /// The outer boundary of the surface. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr Boundaries() const; - void setBoundaries(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr Boundaries() const; + void setBoundaries(aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v); bool ImplicitOuter() const; void setImplicitOuter(bool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCurveBoundedSurface (IfcEntityInstanceData* e); - IfcCurveBoundedSurface (::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter); - typedef IfcTemplatedEntityList< IfcCurveBoundedSurface > list; + IfcCurveBoundedSurface (::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter); + typedef aggregate_of< IfcCurveBoundedSurface > list; }; class IFC_PARSE_API IfcCurveSegment : public IfcSegment { @@ -21082,7 +20223,7 @@ public: static const IfcParse::entity& Class(); IfcCurveSegment (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcCurveSegment > list; + typedef aggregate_of< IfcCurveSegment > list; }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -21100,45 +20241,22 @@ public: static const IfcParse::entity& Class(); IfcDirection (IfcEntityInstanceData* e); IfcDirection (std::vector< double > /*[2:3]*/ v1_DirectionRatios); - typedef IfcTemplatedEntityList< IfcDirection > list; + typedef aggregate_of< IfcDirection > list; }; class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: ::Ifc4x3_rc4::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc4::IfcCurve* v); - /// Whether the optional attribute StartParam is defined for this IfcDirectrixCurveSweptAreaSolid - bool hasStartParam() const; ::Ifc4x3_rc4::IfcCurveMeasureSelect* StartParam() const; void setStartParam(::Ifc4x3_rc4::IfcCurveMeasureSelect* v); - /// Whether the optional attribute EndParam is defined for this IfcDirectrixCurveSweptAreaSolid - bool hasEndParam() const; ::Ifc4x3_rc4::IfcCurveMeasureSelect* EndParam() const; void setEndParam(::Ifc4x3_rc4::IfcCurveMeasureSelect* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDirectrixCurveSweptAreaSolid (IfcEntityInstanceData* e); IfcDirectrixCurveSweptAreaSolid (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v5_EndParam); - typedef IfcTemplatedEntityList< IfcDirectrixCurveSweptAreaSolid > list; -}; - -class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { -public: - ::Ifc4x3_rc4::IfcCurve* Directrix() const; - void setDirectrix(::Ifc4x3_rc4::IfcCurve* v); - /// Whether the optional attribute StartDistance is defined for this IfcDirectrixDistanceSweptAreaSolid - bool hasStartDistance() const; - ::Ifc4x3_rc4::IfcPointByDistanceExpression* StartDistance() const; - void setStartDistance(::Ifc4x3_rc4::IfcPointByDistanceExpression* v); - /// Whether the optional attribute EndDistance is defined for this IfcDirectrixDistanceSweptAreaSolid - bool hasEndDistance() const; - ::Ifc4x3_rc4::IfcPointByDistanceExpression* EndDistance() const; - void setEndDistance(::Ifc4x3_rc4::IfcPointByDistanceExpression* v); - virtual const IfcParse::entity& declaration() const; - static const IfcParse::entity& Class(); - IfcDirectrixDistanceSweptAreaSolid (IfcEntityInstanceData* e); - IfcDirectrixDistanceSweptAreaSolid (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc4::IfcPointByDistanceExpression* v5_EndDistance); - typedef IfcTemplatedEntityList< IfcDirectrixDistanceSweptAreaSolid > list; + typedef aggregate_of< IfcDirectrixCurveSweptAreaSolid > list; }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -21183,8 +20301,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDoorStyle (IfcEntityInstanceData* e); - IfcDoorStyle (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); - typedef IfcTemplatedEntityList< IfcDoorStyle > list; + IfcDoorStyle (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, ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + typedef aggregate_of< IfcDoorStyle > list; }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -21200,13 +20318,13 @@ public: class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr EdgeList() const; - void setEdgeList(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr EdgeList() const; + void setEdgeList(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEdgeLoop (IfcEntityInstanceData* e); - IfcEdgeLoop (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList); - typedef IfcTemplatedEntityList< IfcEdgeLoop > list; + IfcEdgeLoop (aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList); + typedef aggregate_of< IfcEdgeLoop > list; }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -21287,21 +20405,19 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - /// Whether the optional attribute MethodOfMeasurement is defined for this IfcElementQuantity - bool hasMethodOfMeasurement() const; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// /// IFC2x2 Addendum 1 change: The attribute has been changed to be optional - std::string MethodOfMeasurement() const; - void setMethodOfMeasurement(std::string v); + boost::optional< std::string > MethodOfMeasurement() const; + void setMethodOfMeasurement(boost::optional< std::string > v); /// The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Quantities() const; - void setQuantities(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Quantities() const; + void setQuantities(aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElementQuantity (IfcEntityInstanceData* e); - IfcElementQuantity (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_MethodOfMeasurement, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v6_Quantities); - typedef IfcTemplatedEntityList< IfcElementQuantity > list; + IfcElementQuantity (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_MethodOfMeasurement, aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v6_Quantities); + typedef aggregate_of< IfcElementQuantity > list; }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -21327,16 +20443,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - /// Whether the optional attribute ElementType is defined for this IfcElementType - bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - std::string ElementType() const; - void setElementType(std::string v); + boost::optional< std::string > ElementType() const; + void setElementType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElementType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcElementType > list; + 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); + typedef aggregate_of< IfcElementType > list; }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -21352,7 +20466,7 @@ public: static const IfcParse::entity& Class(); IfcElementarySurface (IfcEntityInstanceData* e); IfcElementarySurface (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position); - typedef IfcTemplatedEntityList< IfcElementarySurface > list; + typedef aggregate_of< IfcElementarySurface > list; }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -21382,7 +20496,7 @@ public: static const IfcParse::entity& Class(); IfcEllipseProfileDef (IfcEntityInstanceData* e); IfcEllipseProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); - typedef IfcTemplatedEntityList< IfcEllipseProfileDef > list; + typedef aggregate_of< IfcEllipseProfileDef > list; }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -21400,18 +20514,16 @@ public: /// the type required may be set. ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value EventTriggerType() const; void setEventTriggerType(::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v); - /// Whether the optional attribute UserDefinedEventTriggerType is defined for this IfcEventType - bool hasUserDefinedEventTriggerType() const; /// A user defined event trigger type, the value of which /// is asserted when the value of an event trigger type is /// declared as USERDEFINED. - std::string UserDefinedEventTriggerType() const; - void setUserDefinedEventTriggerType(std::string v); + boost::optional< std::string > UserDefinedEventTriggerType() const; + void setUserDefinedEventTriggerType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEventType (IfcEntityInstanceData* e); - IfcEventType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType); - typedef IfcTemplatedEntityList< IfcEventType > list; + IfcEventType (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_ProcessType, ::Ifc4x3_rc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType); + typedef aggregate_of< IfcEventType > list; }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -21494,7 +20606,7 @@ public: static const IfcParse::entity& Class(); IfcExtrudedAreaSolid (IfcEntityInstanceData* e); IfcExtrudedAreaSolid (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth); - typedef IfcTemplatedEntityList< IfcExtrudedAreaSolid > list; + typedef aggregate_of< IfcExtrudedAreaSolid > list; }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -21603,7 +20715,7 @@ public: static const IfcParse::entity& Class(); IfcExtrudedAreaSolidTapered (IfcEntityInstanceData* e); IfcExtrudedAreaSolidTapered (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc4::IfcProfileDef* v5_EndSweptArea); - typedef IfcTemplatedEntityList< IfcExtrudedAreaSolidTapered > list; + typedef aggregate_of< IfcExtrudedAreaSolidTapered > list; }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -21620,13 +20732,13 @@ public: class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: /// The set of connected face sets comprising the face based surface model. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr FbsmFaces() const; - void setFbsmFaces(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr FbsmFaces() const; + void setFbsmFaces(aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFaceBasedSurfaceModel (IfcEntityInstanceData* e); - IfcFaceBasedSurfaceModel (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v1_FbsmFaces); - typedef IfcTemplatedEntityList< IfcFaceBasedSurfaceModel > list; + IfcFaceBasedSurfaceModel (aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v1_FbsmFaces); + typedef aggregate_of< IfcFaceBasedSurfaceModel > list; }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -21685,16 +20797,12 @@ public: /// IFC2x Edition 3 CHANGE  The attribute type of StartOfNextHatchLine has changed to a SELECT of IfcPositiveLengthMeasure (new) and IfcOneDirectionRepeatFactor. ::Ifc4x3_rc4::IfcHatchLineDistanceSelect* StartOfNextHatchLine() const; void setStartOfNextHatchLine(::Ifc4x3_rc4::IfcHatchLineDistanceSelect* v); - /// Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching - bool hasPointOfReferenceHatchLine() const; /// A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. /// If not given the reference hatch lines goes through the origin of the (virtual) hatching coordinate system. /// /// IFC2x Edition 3 CHANGE  The usage of the attribute PointOfReferenceHatchLine has changed to not provide the Cartesian point which is the origin for mapping, but to provide an offset to the origin for the mapping. The attribute has been made OPTIONAL. ::Ifc4x3_rc4::IfcCartesianPoint* PointOfReferenceHatchLine() const; void setPointOfReferenceHatchLine(::Ifc4x3_rc4::IfcCartesianPoint* v); - /// Whether the optional attribute PatternStart is defined for this IfcFillAreaStyleHatching - bool hasPatternStart() const; /// A distance along the reference hatch line which is the start point for the curve style font pattern of the reference hatch line. /// If not given, the start point of the curve style font pattern is at the (virtual) hatching coordinate system. /// @@ -21708,7 +20816,7 @@ public: static const IfcParse::entity& Class(); IfcFillAreaStyleHatching (IfcEntityInstanceData* e); IfcFillAreaStyleHatching (::Ifc4x3_rc4::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_rc4::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle); - typedef IfcTemplatedEntityList< IfcFillAreaStyleHatching > list; + typedef aggregate_of< IfcFillAreaStyleHatching > list; }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -21718,19 +20826,19 @@ public: class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcVector >::ptr TilingPattern() const; - void setTilingPattern(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcVector >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr TilingPattern() const; + void setTilingPattern(aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr v); /// A set of constituents of the tile. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStyledItem >::ptr Tiles() const; - void setTiles(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStyledItem >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcStyledItem >::ptr Tiles() const; + void setTiles(aggregate_of< ::Ifc4x3_rc4::IfcStyledItem >::ptr v); /// The scale factor applied to each tile as it is placed in the annotation fill area. double TilingScale() const; void setTilingScale(double v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyleTiles (IfcEntityInstanceData* e); - IfcFillAreaStyleTiles (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcVector >::ptr v1_TilingPattern, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale); - typedef IfcTemplatedEntityList< IfcFillAreaStyleTiles > list; + IfcFillAreaStyleTiles (aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_rc4::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale); + typedef aggregate_of< IfcFillAreaStyleTiles > list; }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -21799,7 +20907,7 @@ public: static const IfcParse::entity& Class(); IfcFixedReferenceSweptAreaSolid (IfcEntityInstanceData* e); IfcFixedReferenceSweptAreaSolid (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc4::IfcDirection* v6_FixedReference); - typedef IfcTemplatedEntityList< IfcFixedReferenceSweptAreaSolid > list; + typedef aggregate_of< IfcFixedReferenceSweptAreaSolid > list; }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -21834,8 +20942,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFurnishingElementType (IfcEntityInstanceData* e); - IfcFurnishingElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcFurnishingElementType > list; + IfcFurnishingElementType (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); + typedef aggregate_of< IfcFurnishingElementType > list; }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -21879,15 +20987,13 @@ public: /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; void setAssemblyPlace(::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v); - /// Whether the optional attribute PredefinedType is defined for this IfcFurnitureType - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFurnitureType (IfcEntityInstanceData* e); - IfcFurnitureType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType); - typedef IfcTemplatedEntityList< IfcFurnitureType > list; + IfcFurnitureType (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::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + typedef aggregate_of< IfcFurnitureType > list; }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -21958,8 +21064,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeographicElementType (IfcEntityInstanceData* e); - IfcGeographicElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcGeographicElementType > list; + IfcGeographicElementType (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::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcGeographicElementType > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -21973,8 +21079,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (IfcEntityList::ptr v1_Elements); - typedef IfcTemplatedEntityList< IfcGeometricCurveSet > list; + IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -22053,49 +21159,30 @@ public: /// Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system. double FlangeThickness() const; void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcIShapeProfileDef - bool hasFilletRadius() const; /// The fillet between the web and the flange. - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcIShapeProfileDef - bool hasFlangeEdgeRadius() const; - double FlangeEdgeRadius() const; - void setFlangeEdgeRadius(double v); - /// Whether the optional attribute FlangeSlope is defined for this IfcIShapeProfileDef - bool hasFlangeSlope() const; - double FlangeSlope() const; - void setFlangeSlope(double v); + boost::optional< double > FilletRadius() const; + void setFilletRadius(boost::optional< double > v); + boost::optional< double > FlangeEdgeRadius() const; + void setFlangeEdgeRadius(boost::optional< double > v); + boost::optional< double > FlangeSlope() const; + void setFlangeSlope(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIShapeProfileDef (IfcEntityInstanceData* e); IfcIShapeProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_FlangeSlope); - typedef IfcTemplatedEntityList< IfcIShapeProfileDef > list; -}; - -class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { -public: - /// Whether the optional attribute FixedAxisVertical is defined for this IfcInclinedReferenceSweptAreaSolid - bool hasFixedAxisVertical() const; - bool FixedAxisVertical() const; - void setFixedAxisVertical(bool v); - virtual const IfcParse::entity& declaration() const; - static const IfcParse::entity& Class(); - IfcInclinedReferenceSweptAreaSolid (IfcEntityInstanceData* e); - IfcInclinedReferenceSweptAreaSolid (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc4::IfcPointByDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical); - typedef IfcTemplatedEntityList< IfcInclinedReferenceSweptAreaSolid > list; + typedef aggregate_of< IfcIShapeProfileDef > list; }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(std::vector< int > /*[3:?]*/ v); - IfcTemplatedEntityList< IfcPolygonalFaceSet >::ptr ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces + aggregate_of< IfcPolygonalFaceSet >::ptr ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolygonalFace (IfcEntityInstanceData* e); IfcIndexedPolygonalFace (std::vector< int > /*[3:?]*/ v1_CoordIndex); - typedef IfcTemplatedEntityList< IfcIndexedPolygonalFace > list; + typedef aggregate_of< IfcIndexedPolygonalFace > list; }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { @@ -22106,7 +21193,7 @@ public: static const IfcParse::entity& Class(); IfcIndexedPolygonalFaceWithVoids (IfcEntityInstanceData* e); IfcIndexedPolygonalFaceWithVoids (std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); - typedef IfcTemplatedEntityList< IfcIndexedPolygonalFaceWithVoids > list; + typedef aggregate_of< IfcIndexedPolygonalFaceWithVoids > list; }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -22164,34 +21251,26 @@ public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; void setDepth(double v); - /// Whether the optional attribute Width is defined for this IfcLShapeProfileDef - bool hasWidth() const; /// Leg length, see illustration above (= b). Same as the overall width. - double Width() const; - void setWidth(double v); + boost::optional< double > Width() const; + void setWidth(boost::optional< double > v); /// Constant wall thickness of profile, see illustration above (= ts). double Thickness() const; void setThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcLShapeProfileDef - bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute EdgeRadius is defined for this IfcLShapeProfileDef - bool hasEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void setFilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double EdgeRadius() const; - void setEdgeRadius(double v); - /// Whether the optional attribute LegSlope is defined for this IfcLShapeProfileDef - bool hasLegSlope() const; + boost::optional< double > EdgeRadius() const; + void setEdgeRadius(boost::optional< double > v); /// Slope of the inner face of each leg of the profile. - double LegSlope() const; - void setLegSlope(double v); + boost::optional< double > LegSlope() const; + void setLegSlope(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLShapeProfileDef (IfcEntityInstanceData* e); IfcLShapeProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope); - typedef IfcTemplatedEntityList< IfcLShapeProfileDef > list; + typedef aggregate_of< IfcLShapeProfileDef > list; }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -22212,8 +21291,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLaborResourceType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType); - typedef IfcTemplatedEntityList< IfcLaborResourceType > list; + 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); + typedef aggregate_of< IfcLaborResourceType > list; }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -22240,7 +21319,7 @@ public: static const IfcParse::entity& Class(); IfcLine (IfcEntityInstanceData* e); IfcLine (::Ifc4x3_rc4::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_rc4::IfcVector* v2_Dir); - typedef IfcTemplatedEntityList< IfcLine > list; + typedef aggregate_of< IfcLine > list; }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -22314,7 +21393,7 @@ public: static const IfcParse::entity& Class(); IfcManifoldSolidBrep (IfcEntityInstanceData* e); IfcManifoldSolidBrep (::Ifc4x3_rc4::IfcClosedShell* v1_Outer); - typedef IfcTemplatedEntityList< IfcManifoldSolidBrep > list; + typedef aggregate_of< IfcManifoldSolidBrep > list; }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -22400,20 +21479,18 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - /// Whether the optional attribute ObjectType is defined for this IfcObject - bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. - std::string ObjectType() const; - void setObjectType(std::string v); - IfcTemplatedEntityList< IfcRelDefinesByObject >::ptr IsDeclaredBy() const; // INVERSE IfcRelDefinesByObject::RelatedObjects - IfcTemplatedEntityList< IfcRelDefinesByObject >::ptr Declares() const; // INVERSE IfcRelDefinesByObject::RelatingObject - IfcTemplatedEntityList< IfcRelDefinesByType >::ptr IsTypedBy() const; // INVERSE IfcRelDefinesByType::RelatedObjects - IfcTemplatedEntityList< IfcRelDefinesByProperties >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects + boost::optional< std::string > ObjectType() const; + void setObjectType(boost::optional< std::string > v); + aggregate_of< IfcRelDefinesByObject >::ptr IsDeclaredBy() const; // INVERSE IfcRelDefinesByObject::RelatedObjects + aggregate_of< IfcRelDefinesByObject >::ptr Declares() const; // INVERSE IfcRelDefinesByObject::RelatingObject + aggregate_of< IfcRelDefinesByType >::ptr IsTypedBy() const; // INVERSE IfcRelDefinesByType::RelatedObjects + aggregate_of< IfcRelDefinesByProperties >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcObject (IfcEntityInstanceData* e); IfcObject (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); - typedef IfcTemplatedEntityList< IfcObject > list; + typedef aggregate_of< IfcObject > list; }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { @@ -22424,7 +21501,7 @@ public: static const IfcParse::entity& Class(); IfcOffsetCurve (IfcEntityInstanceData* e); IfcOffsetCurve (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve); - typedef IfcTemplatedEntityList< IfcOffsetCurve > list; + typedef aggregate_of< IfcOffsetCurve > list; }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -22443,13 +21520,13 @@ public: double Distance() const; void setDistance(double v); /// An indication of whether the offset curve self-intersects; this is for information only. - bool SelfIntersect() const; - void setSelfIntersect(bool v); + boost::logic::tribool SelfIntersect() const; + void setSelfIntersect(boost::logic::tribool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOffsetCurve2D (IfcEntityInstanceData* e); - IfcOffsetCurve2D (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect); - typedef IfcTemplatedEntityList< IfcOffsetCurve2D > list; + IfcOffsetCurve2D (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + typedef aggregate_of< IfcOffsetCurve2D > list; }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -22472,31 +21549,29 @@ public: double Distance() const; void setDistance(double v); /// An indication of whether the offset curve self-intersects, this is for information only. - bool SelfIntersect() const; - void setSelfIntersect(bool v); + boost::logic::tribool SelfIntersect() const; + void setSelfIntersect(boost::logic::tribool v); /// The direction used to define the direction of the offset curve 3d from the basis curve. ::Ifc4x3_rc4::IfcDirection* RefDirection() const; void setRefDirection(::Ifc4x3_rc4::IfcDirection* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOffsetCurve3D (IfcEntityInstanceData* e); - IfcOffsetCurve3D (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection* v4_RefDirection); - typedef IfcTemplatedEntityList< IfcOffsetCurve3D > list; + IfcOffsetCurve3D (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection* v4_RefDirection); + typedef aggregate_of< IfcOffsetCurve3D > list; }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr OffsetValues() const; - void setOffsetValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v); - /// Whether the optional attribute Tag is defined for this IfcOffsetCurveByDistances - bool hasTag() const; - std::string Tag() const; - void setTag(std::string v); + aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr OffsetValues() const; + void setOffsetValues(aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v); + boost::optional< std::string > Tag() const; + void setTag(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOffsetCurveByDistances (IfcEntityInstanceData* e); - IfcOffsetCurveByDistances (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag); - typedef IfcTemplatedEntityList< IfcOffsetCurveByDistances > list; + IfcOffsetCurveByDistances (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag); + typedef aggregate_of< IfcOffsetCurveByDistances > list; }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -22515,7 +21590,7 @@ public: static const IfcParse::entity& Class(); IfcPcurve (IfcEntityInstanceData* e); IfcPcurve (::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_ReferenceCurve); - typedef IfcTemplatedEntityList< IfcPcurve > list; + typedef aggregate_of< IfcPcurve > list; }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -22533,7 +21608,7 @@ public: static const IfcParse::entity& Class(); IfcPlanarBox (IfcEntityInstanceData* e); IfcPlanarBox (double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc4::IfcAxis2Placement* v3_Placement); - typedef IfcTemplatedEntityList< IfcPlanarBox > list; + typedef aggregate_of< IfcPlanarBox > list; }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -22577,30 +21652,24 @@ public: static const IfcParse::entity& Class(); IfcPlane (IfcEntityInstanceData* e); IfcPlane (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position); - typedef IfcTemplatedEntityList< IfcPlane > list; + typedef aggregate_of< IfcPlane > list; }; class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { public: ::Ifc4x3_rc4::IfcPlacement* Position() const; void setPosition(::Ifc4x3_rc4::IfcPlacement* v); - /// Whether the optional attribute CoefficientsX is defined for this IfcPolynomialCurve - bool hasCoefficientsX() const; - std::vector< double > /*[2:?]*/ CoefficientsX() const; - void setCoefficientsX(std::vector< double > /*[2:?]*/ v); - /// Whether the optional attribute CoefficientsY is defined for this IfcPolynomialCurve - bool hasCoefficientsY() const; - std::vector< double > /*[2:?]*/ CoefficientsY() const; - void setCoefficientsY(std::vector< double > /*[2:?]*/ v); - /// Whether the optional attribute CoefficientsZ is defined for this IfcPolynomialCurve - bool hasCoefficientsZ() const; - std::vector< double > /*[2:?]*/ CoefficientsZ() const; - void setCoefficientsZ(std::vector< double > /*[2:?]*/ v); + boost::optional< std::vector< double > /*[2:?]*/ > CoefficientsX() const; + void setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v); + boost::optional< std::vector< double > /*[2:?]*/ > CoefficientsY() const; + void setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v); + boost::optional< std::vector< double > /*[2:?]*/ > CoefficientsZ() const; + void setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPolynomialCurve (IfcEntityInstanceData* e); IfcPolynomialCurve (::Ifc4x3_rc4::IfcPlacement* v1_Position, boost::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, boost::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, boost::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); - typedef IfcTemplatedEntityList< IfcPolynomialCurve > list; + typedef aggregate_of< IfcPolynomialCurve > list; }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -22613,7 +21682,7 @@ public: static const IfcParse::entity& Class(); IfcPreDefinedColour (IfcEntityInstanceData* e); IfcPreDefinedColour (std::string v1_Name); - typedef IfcTemplatedEntityList< IfcPreDefinedColour > list; + typedef aggregate_of< IfcPreDefinedColour > list; }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -22628,7 +21697,7 @@ public: static const IfcParse::entity& Class(); IfcPreDefinedCurveFont (IfcEntityInstanceData* e); IfcPreDefinedCurveFont (std::string v1_Name); - typedef IfcTemplatedEntityList< IfcPreDefinedCurveFont > list; + typedef aggregate_of< IfcPreDefinedCurveFont > list; }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -22656,7 +21725,7 @@ public: static const IfcParse::entity& Class(); IfcPreDefinedPropertySet (IfcEntityInstanceData* e); IfcPreDefinedPropertySet (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcPreDefinedPropertySet > list; + typedef aggregate_of< IfcPreDefinedPropertySet > list; }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -22680,8 +21749,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProcedureType (IfcEntityInstanceData* e); - IfcProcedureType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcProcedureType > list; + IfcProcedureType (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_ProcessType, ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcProcedureType > list; }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -22725,29 +21794,25 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - /// Whether the optional attribute Identification is defined for this IfcProcess - bool hasIdentification() const; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. /// /// IFC2x4 CHANGE Attribute promoted from subtypes. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcProcess - bool hasLongDescription() const; + boost::optional< std::string > Identification() const; + void setIdentification(boost::optional< std::string > v); /// An extended description or narrative that may be provided. /// /// IFC2x4 CHANGE  New attribute. - std::string LongDescription() const; - void setLongDescription(std::string v); - IfcTemplatedEntityList< IfcRelSequence >::ptr IsPredecessorTo() const; // INVERSE IfcRelSequence::RelatingProcess - IfcTemplatedEntityList< IfcRelSequence >::ptr IsSuccessorFrom() const; // INVERSE IfcRelSequence::RelatedProcess - IfcTemplatedEntityList< IfcRelAssignsToProcess >::ptr OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess + boost::optional< std::string > LongDescription() const; + void setLongDescription(boost::optional< std::string > v); + aggregate_of< IfcRelSequence >::ptr IsPredecessorTo() const; // INVERSE IfcRelSequence::RelatingProcess + aggregate_of< IfcRelSequence >::ptr IsSuccessorFrom() const; // INVERSE IfcRelSequence::RelatedProcess + aggregate_of< IfcRelAssignsToProcess >::ptr OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProcess (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcProcess > list; + typedef aggregate_of< IfcProcess > list; }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -22842,24 +21907,20 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - /// Whether the optional attribute ObjectPlacement is defined for this IfcProduct - bool hasObjectPlacement() const; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x3_rc4::IfcObjectPlacement* ObjectPlacement() const; void setObjectPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v); - /// Whether the optional attribute Representation is defined for this IfcProduct - bool hasRepresentation() const; /// Reference to the representations of the product, being either a representation (IfcProductRepresentation) or as a special case a shape representations (IfcProductDefinitionShape). The product definition shape provides for multiple geometric representations of the shape property of the object within the same object coordinate system, defined by the object placement. ::Ifc4x3_rc4::IfcProductRepresentation* Representation() const; void setRepresentation(::Ifc4x3_rc4::IfcProductRepresentation* v); - IfcTemplatedEntityList< IfcRelAssignsToProduct >::ptr ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct - IfcTemplatedEntityList< IfcRelPositions >::ptr PositionedRelativeTo() const; // INVERSE IfcRelPositions::RelatedProducts - IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::ptr ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements + aggregate_of< IfcRelAssignsToProduct >::ptr ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct + aggregate_of< IfcRelPositions >::ptr PositionedRelativeTo() const; // INVERSE IfcRelPositions::RelatedProducts + aggregate_of< IfcRelReferencedInSpatialStructure >::ptr ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProduct (IfcEntityInstanceData* e); IfcProduct (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); - typedef IfcTemplatedEntityList< IfcProduct > list; + typedef aggregate_of< IfcProduct > list; }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -22910,8 +21971,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProject (IfcEntityInstanceData* e); - IfcProject (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_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext); - typedef IfcTemplatedEntityList< IfcProject > list; + IfcProject (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_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext); + typedef aggregate_of< IfcProject > list; }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -22942,8 +22003,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProjectLibrary (IfcEntityInstanceData* e); - IfcProjectLibrary (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_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext); - typedef IfcTemplatedEntityList< IfcProjectLibrary > list; + IfcProjectLibrary (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_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext); + typedef aggregate_of< IfcProjectLibrary > list; }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -23051,23 +22112,15 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - /// Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue - bool hasUpperBoundValue() const; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x3_rc4::IfcValue* UpperBoundValue() const; void setUpperBoundValue(::Ifc4x3_rc4::IfcValue* v); - /// Whether the optional attribute LowerBoundValue is defined for this IfcPropertyBoundedValue - bool hasLowerBoundValue() const; /// Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue). ::Ifc4x3_rc4::IfcValue* LowerBoundValue() const; void setLowerBoundValue(::Ifc4x3_rc4::IfcValue* v); - /// Whether the optional attribute Unit is defined for this IfcPropertyBoundedValue - bool hasUnit() const; /// Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at IfcProject.UnitInContext. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue) ::Ifc4x3_rc4::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc4::IfcUnit* v); - /// Whether the optional attribute SetPointValue is defined for this IfcPropertyBoundedValue - bool hasSetPointValue() const; /// Set point value as typically used for operational value setting. /// /// IFC2x4 CHANGE  The attribute has been added at the end of the attribute list. @@ -23077,7 +22130,7 @@ public: static const IfcParse::entity& Class(); IfcPropertyBoundedValue (IfcEntityInstanceData* e); IfcPropertyBoundedValue (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue* v3_UpperBoundValue, ::Ifc4x3_rc4::IfcValue* v4_LowerBoundValue, ::Ifc4x3_rc4::IfcUnit* v5_Unit, ::Ifc4x3_rc4::IfcValue* v6_SetPointValue); - typedef IfcTemplatedEntityList< IfcPropertyBoundedValue > list; + typedef aggregate_of< IfcPropertyBoundedValue > list; }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -23158,23 +22211,19 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - /// Whether the optional attribute EnumerationValues is defined for this IfcPropertyEnumeratedValue - bool hasEnumerationValues() const; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcEntityList::ptr EnumerationValues() const; - void setEnumerationValues(IfcEntityList::ptr v); - /// Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue - bool hasEnumerationReference() const; + boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x3_rc4::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x3_rc4::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference); - typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue > list; + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference); + typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -23243,23 +22292,19 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - /// Whether the optional attribute ListValues is defined for this IfcPropertyListValue - bool hasListValues() const; /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcEntityList::ptr ListValues() const; - void setListValues(IfcEntityList::ptr v); - /// Whether the optional attribute Unit is defined for this IfcPropertyListValue - bool hasUnit() const; + boost::optional< aggregate_of_instance::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of_instance::ptr > v); /// Unit for the list values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. ::Ifc4x3_rc4::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc4::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit); - typedef IfcTemplatedEntityList< IfcPropertyListValue > list; + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit); + typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -23278,13 +22323,9 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - /// Whether the optional attribute UsageName is defined for this IfcPropertyReferenceValue - bool hasUsageName() const; /// Description of the use of the referenced value within the property. - std::string UsageName() const; - void setUsageName(std::string v); - /// Whether the optional attribute PropertyReference is defined for this IfcPropertyReferenceValue - bool hasPropertyReference() const; + boost::optional< std::string > UsageName() const; + void setUsageName(boost::optional< std::string > v); /// Reference to another property entity through one of the select types in the IfcObjectReferenceSelect. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. @@ -23294,7 +22335,7 @@ public: static const IfcParse::entity& Class(); IfcPropertyReferenceValue (IfcEntityInstanceData* e); IfcPropertyReferenceValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x3_rc4::IfcObjectReferenceSelect* v4_PropertyReference); - typedef IfcTemplatedEntityList< IfcPropertyReferenceValue > list; + typedef aggregate_of< IfcPropertyReferenceValue > list; }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -23352,13 +22393,13 @@ public: class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr HasProperties() const; - void setHasProperties(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr HasProperties() const; + void setHasProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertySet (IfcEntityInstanceData* e); - IfcPropertySet (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProperty >::ptr v5_HasProperties); - typedef IfcTemplatedEntityList< IfcPropertySet > list; + IfcPropertySet (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::IfcProperty >::ptr v5_HasProperties); + typedef aggregate_of< IfcPropertySet > list; }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -23393,14 +22434,10 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - /// Whether the optional attribute TemplateType is defined for this IfcPropertySetTemplate - bool hasTemplateType() const; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). - ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value TemplateType() const; - void setTemplateType(::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value v); - /// Whether the optional attribute ApplicableEntity is defined for this IfcPropertySetTemplate - bool hasApplicableEntity() const; + boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > TemplateType() const; + void setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v); /// The attribute optionally defines the data type of the applicable type or occurrence object, to which the assigned property set template can relate. If not present, no instruction is given to which type or occurrence object the property set template is applicable. The following conventions are used: /// /// The IFC entity name of the applicable entity using the IFC naming convention, CamelCase with IFC prefix @@ -23411,17 +22448,17 @@ public: /// EXAMPLE Refering to a boiler type as applicable entity would be expressed as 'IfcBoilerType', refering to a steam boiler type as applicable entity would be expressed as 'IfcBoilerType/STEAM', refering to a wall and wall standard case and a wall type would be expressed as 'IfcWall, IfcWallStandardCase, IfcWallType'. /// /// An applicable IfcPerformanceHistory assigned to an occurrence or type object would be indicated by IfcBoilerType[PerformanceHistory], or respectively IfcBoilerType/STEAM[PerformanceHistory]. - std::string ApplicableEntity() const; - void setApplicableEntity(std::string v); + boost::optional< std::string > ApplicableEntity() const; + void setApplicableEntity(boost::optional< std::string > v); /// Set of IfcPropertyTemplate's that are defined within the scope of the IfcPropertySetTemplate. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr HasPropertyTemplates() const; - void setHasPropertyTemplates(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v); - IfcTemplatedEntityList< IfcRelDefinesByTemplate >::ptr Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate + aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr HasPropertyTemplates() const; + void setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v); + aggregate_of< IfcRelDefinesByTemplate >::ptr Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertySetTemplate (IfcEntityInstanceData* e); - 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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates); - typedef IfcTemplatedEntityList< IfcPropertySetTemplate > list; + 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); + typedef aggregate_of< IfcPropertySetTemplate > list; }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -23469,8 +22506,6 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - /// Whether the optional attribute NominalValue is defined for this IfcPropertySingleValue - bool hasNominalValue() const; /// Value and measure type of this property. /// /// NOTE  By virtue of the defined data type, that is selected from the SELECT IfcValue, the appropriate unit can be found within the IfcUnitAssignment, defined for the project if no value for the unit attribute is given. @@ -23478,8 +22513,6 @@ public: /// IFC2x3 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. ::Ifc4x3_rc4::IfcValue* NominalValue() const; void setNominalValue(::Ifc4x3_rc4::IfcValue* v); - /// Whether the optional attribute Unit is defined for this IfcPropertySingleValue - bool hasUnit() const; /// Unit for the nominal value, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. ::Ifc4x3_rc4::IfcUnit* Unit() const; void setUnit(::Ifc4x3_rc4::IfcUnit* v); @@ -23487,7 +22520,7 @@ public: static const IfcParse::entity& Class(); IfcPropertySingleValue (IfcEntityInstanceData* e); IfcPropertySingleValue (std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue* v3_NominalValue, ::Ifc4x3_rc4::IfcUnit* v4_Unit); - typedef IfcTemplatedEntityList< IfcPropertySingleValue > list; + typedef aggregate_of< IfcPropertySingleValue > list; }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -23607,47 +22640,35 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - /// Whether the optional attribute DefiningValues is defined for this IfcPropertyTableValue - bool hasDefiningValues() const; /// List of defining values, which determine the defined values. This list shall have unique values only. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcEntityList::ptr DefiningValues() const; - void setDefiningValues(IfcEntityList::ptr v); - /// Whether the optional attribute DefinedValues is defined for this IfcPropertyTableValue - bool hasDefinedValues() const; + boost::optional< aggregate_of_instance::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); /// Defined values which are applicable for the scope as defined by the defining values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcEntityList::ptr DefinedValues() const; - void setDefinedValues(IfcEntityList::ptr v); - /// Whether the optional attribute Expression is defined for this IfcPropertyTableValue - bool hasExpression() const; + boost::optional< aggregate_of_instance::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); /// Expression for the derivation of defined values from the defining values, the expression is given for information only, i.e. no automatic processing can be expected from the expression. - std::string Expression() const; - void setExpression(std::string v); - /// Whether the optional attribute DefiningUnit is defined for this IfcPropertyTableValue - bool hasDefiningUnit() const; + boost::optional< std::string > Expression() const; + void setExpression(boost::optional< std::string > v); /// Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject. ::Ifc4x3_rc4::IfcUnit* DefiningUnit() const; void setDefiningUnit(::Ifc4x3_rc4::IfcUnit* v); - /// Whether the optional attribute DefinedUnit is defined for this IfcPropertyTableValue - bool hasDefinedUnit() const; /// Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject. ::Ifc4x3_rc4::IfcUnit* DefinedUnit() const; void setDefinedUnit(::Ifc4x3_rc4::IfcUnit* v); - /// Whether the optional attribute CurveInterpolation is defined for this IfcPropertyTableValue - bool hasCurveInterpolation() const; /// Interpolation of the curve between two defining and defined values that are provided. if not provided a linear interpolation is assumed. /// /// IFC2x4 CHANGE  The attribute has been added at the end of the attribute list. - ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value CurveInterpolation() const; - void setCurveInterpolation(::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > CurveInterpolation() const; + void setCurveInterpolation(boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); - typedef IfcTemplatedEntityList< IfcPropertyTableValue > list; + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -23675,13 +22696,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcTemplatedEntityList< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates - IfcTemplatedEntityList< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates + aggregate_of< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates + aggregate_of< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTemplate (IfcEntityInstanceData* e); IfcPropertyTemplate (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcPropertyTemplate > list; + typedef aggregate_of< IfcPropertyTemplate > list; }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -23704,16 +22725,14 @@ public: /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. ::Ifc4x3_rc4::IfcObjectTypeEnum::Value ProxyType() const; void setProxyType(::Ifc4x3_rc4::IfcObjectTypeEnum::Value v); - /// Whether the optional attribute Tag is defined for this IfcProxy - bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - std::string Tag() const; - void setTag(std::string v); + boost::optional< std::string > Tag() const; + void setTag(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProxy (IfcEntityInstanceData* e); IfcProxy (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::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag); - typedef IfcTemplatedEntityList< IfcProxy > list; + typedef aggregate_of< IfcProxy > list; }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -23740,21 +22759,17 @@ public: /// Thickness of the material. double WallThickness() const; void setWallThickness(double v); - /// Whether the optional attribute InnerFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasInnerFilletRadius() const; /// Inner corner radius. - double InnerFilletRadius() const; - void setInnerFilletRadius(double v); - /// Whether the optional attribute OuterFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasOuterFilletRadius() const; + boost::optional< double > InnerFilletRadius() const; + void setInnerFilletRadius(boost::optional< double > v); /// Outer corner radius. - double OuterFilletRadius() const; - void setOuterFilletRadius(double v); + boost::optional< double > OuterFilletRadius() const; + void setOuterFilletRadius(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRectangleHollowProfileDef (IfcEntityInstanceData* e); IfcRectangleHollowProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius); - typedef IfcTemplatedEntityList< IfcRectangleHollowProfileDef > list; + typedef aggregate_of< IfcRectangleHollowProfileDef > list; }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -23859,7 +22874,7 @@ public: static const IfcParse::entity& Class(); IfcRectangularPyramid (IfcEntityInstanceData* e); IfcRectangularPyramid (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height); - typedef IfcTemplatedEntityList< IfcRectangularPyramid > list; + typedef aggregate_of< IfcRectangularPyramid > list; }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -23903,7 +22918,7 @@ public: static const IfcParse::entity& Class(); IfcRectangularTrimmedSurface (IfcEntityInstanceData* e); IfcRectangularTrimmedSurface (::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); - typedef IfcTemplatedEntityList< IfcRectangularTrimmedSurface > list; + typedef aggregate_of< IfcRectangularTrimmedSurface > list; }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -23933,19 +22948,17 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - /// Whether the optional attribute DefinitionType is defined for this IfcReinforcementDefinitionProperties - bool hasDefinitionType() const; /// Descriptive type name applied to reinforcement definition properties. - std::string DefinitionType() const; - void setDefinitionType(std::string v); + boost::optional< std::string > DefinitionType() const; + void setDefinitionType(boost::optional< std::string > v); /// The list of section reinforcement properties attached to the reinforcement definition properties. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr ReinforcementSectionDefinitions() const; - void setReinforcementSectionDefinitions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr ReinforcementSectionDefinitions() const; + void setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcementDefinitionProperties (IfcEntityInstanceData* e); - IfcReinforcementDefinitionProperties (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_DefinitionType, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); - typedef IfcTemplatedEntityList< IfcReinforcementDefinitionProperties > list; + IfcReinforcementDefinitionProperties (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_DefinitionType, aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); + typedef aggregate_of< IfcReinforcementDefinitionProperties > list; }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -23961,19 +22974,17 @@ public: class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v); - /// Whether the optional attribute RelatedObjectsType is defined for this IfcRelAssigns - bool hasRelatedObjectsType() const; + aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v); /// Particular type of the assignment relationship. It can constrain the applicable object types, used within the role of RelatedObjects. /// IFC2x4 CHANGE  The attribute is deprecated and shall no longer be used. A NIL value should always be assigned. - ::Ifc4x3_rc4::IfcObjectTypeEnum::Value RelatedObjectsType() const; - void setRelatedObjectsType(::Ifc4x3_rc4::IfcObjectTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > RelatedObjectsType() const; + void setRelatedObjectsType(boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssigns (IfcEntityInstanceData* e); - IfcRelAssigns (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); - typedef IfcTemplatedEntityList< IfcRelAssigns > list; + 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); + typedef aggregate_of< IfcRelAssigns > list; }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -23989,16 +23000,14 @@ public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_rc4::IfcActor* RelatingActor() const; void setRelatingActor(::Ifc4x3_rc4::IfcActor* v); - /// Whether the optional attribute ActingRole is defined for this IfcRelAssignsToActor - bool hasActingRole() const; /// Role of the actor played within the context of the assignment to the object(s). ::Ifc4x3_rc4::IfcActorRole* ActingRole() const; void setActingRole(::Ifc4x3_rc4::IfcActorRole* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssignsToActor (IfcEntityInstanceData* e); - IfcRelAssignsToActor (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcActor* v7_RelatingActor, ::Ifc4x3_rc4::IfcActorRole* v8_ActingRole); - typedef IfcTemplatedEntityList< IfcRelAssignsToActor > list; + 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); + typedef aggregate_of< IfcRelAssignsToActor > list; }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -24013,8 +23022,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssignsToControl (IfcEntityInstanceData* e); - IfcRelAssignsToControl (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcControl* v7_RelatingControl); - typedef IfcTemplatedEntityList< IfcRelAssignsToControl > list; + 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); + typedef aggregate_of< IfcRelAssignsToControl > list; }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -24037,8 +23046,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssignsToGroup (IfcEntityInstanceData* e); - IfcRelAssignsToGroup (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup* v7_RelatingGroup); - typedef IfcTemplatedEntityList< IfcRelAssignsToGroup > list; + IfcRelAssignsToGroup (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); + typedef aggregate_of< IfcRelAssignsToGroup > list; }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -24057,8 +23066,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssignsToGroupByFactor (IfcEntityInstanceData* e); - IfcRelAssignsToGroupByFactor (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup* v7_RelatingGroup, double v8_Factor); - typedef IfcTemplatedEntityList< IfcRelAssignsToGroupByFactor > list; + 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); + typedef aggregate_of< IfcRelAssignsToGroupByFactor > list; }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -24089,16 +23098,14 @@ public: /// IFC2x4 CHANGE Datatype expanded to include IfcProcess and IfcTypeProcess. ::Ifc4x3_rc4::IfcProcessSelect* RelatingProcess() const; void setRelatingProcess(::Ifc4x3_rc4::IfcProcessSelect* v); - /// Whether the optional attribute QuantityInProcess is defined for this IfcRelAssignsToProcess - bool hasQuantityInProcess() const; /// Quantity of the object specific for the operation by this process. ::Ifc4x3_rc4::IfcMeasureWithUnit* QuantityInProcess() const; void setQuantityInProcess(::Ifc4x3_rc4::IfcMeasureWithUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssignsToProcess (IfcEntityInstanceData* e); - IfcRelAssignsToProcess (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc4::IfcMeasureWithUnit* v8_QuantityInProcess); - typedef IfcTemplatedEntityList< IfcRelAssignsToProcess > list; + 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); + typedef aggregate_of< IfcRelAssignsToProcess > list; }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -24118,8 +23125,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssignsToProduct (IfcEntityInstanceData* e); - IfcRelAssignsToProduct (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProductSelect* v7_RelatingProduct); - typedef IfcTemplatedEntityList< IfcRelAssignsToProduct > list; + 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); + typedef aggregate_of< IfcRelAssignsToProduct > list; }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -24137,8 +23144,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssignsToResource (IfcEntityInstanceData* e); - IfcRelAssignsToResource (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcResourceSelect* v7_RelatingResource); - typedef IfcTemplatedEntityList< IfcRelAssignsToResource > list; + IfcRelAssignsToResource (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::IfcResourceSelect* v7_RelatingResource); + typedef aggregate_of< IfcRelAssignsToResource > list; }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -24186,13 +23193,13 @@ public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// /// IFC2x4 CHANGE  The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. - IfcEntityList::ptr RelatedObjects() const; - void setRelatedObjects(IfcEntityList::ptr v); + aggregate_of_instance::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects); - typedef IfcTemplatedEntityList< IfcRelAssociates > list; + 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); + typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// @@ -24205,8 +23212,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval); - typedef IfcTemplatedEntityList< IfcRelAssociatesApproval > list; + 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); + typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -24246,27 +23253,25 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification); - typedef IfcTemplatedEntityList< IfcRelAssociatesClassification > list; + IfcRelAssociatesClassification (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::IfcClassificationSelect* v6_RelatingClassification); + typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - /// Whether the optional attribute Intent is defined for this IfcRelAssociatesConstraint - bool hasIntent() const; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. - std::string Intent() const; - void setIntent(std::string v); + boost::optional< std::string > Intent() const; + void setIntent(boost::optional< std::string > v); /// Reference to constraint that is being applied using this relationship. ::Ifc4x3_rc4::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint); - typedef IfcTemplatedEntityList< IfcRelAssociatesConstraint > list; + 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); + typedef aggregate_of< IfcRelAssociatesConstraint > list; }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -24283,8 +23288,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument); - typedef IfcTemplatedEntityList< IfcRelAssociatesDocument > list; + 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); + typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -24301,8 +23306,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary); - typedef IfcTemplatedEntityList< IfcRelAssociatesLibrary > list; + 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); + typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -24406,8 +23411,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial); - typedef IfcTemplatedEntityList< IfcRelAssociatesMaterial > list; + 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); + typedef aggregate_of< IfcRelAssociatesMaterial > list; }; class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { @@ -24417,8 +23422,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesProfileDef (IfcEntityInstanceData* e); - IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef); - typedef IfcTemplatedEntityList< IfcRelAssociatesProfileDef > list; + IfcRelAssociatesProfileDef (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::IfcProfileDef* v6_RelatingProfileDef); + typedef aggregate_of< IfcRelAssociatesProfileDef > list; }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// @@ -24429,7 +23434,7 @@ public: static const IfcParse::entity& Class(); IfcRelConnects (IfcEntityInstanceData* e); IfcRelConnects (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcRelConnects > list; + typedef aggregate_of< IfcRelConnects > list; }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -24455,8 +23460,6 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelConnectsElements - bool hasConnectionGeometry() const; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3_rc4::IfcConnectionGeometry* ConnectionGeometry() const; void setConnectionGeometry(::Ifc4x3_rc4::IfcConnectionGeometry* v); @@ -24470,7 +23473,7 @@ public: static const IfcParse::entity& Class(); IfcRelConnectsElements (IfcEntityInstanceData* e); IfcRelConnectsElements (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); - typedef IfcTemplatedEntityList< IfcRelConnectsElements > list; + typedef aggregate_of< IfcRelConnectsElements > list; }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -24520,7 +23523,7 @@ public: static const IfcParse::entity& Class(); IfcRelConnectsPathElements (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcRelConnectsPathElements > list; + typedef aggregate_of< IfcRelConnectsPathElements > list; }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -24561,7 +23564,7 @@ public: static const IfcParse::entity& Class(); IfcRelConnectsPortToElement (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcRelConnectsPortToElement > list; + typedef aggregate_of< IfcRelConnectsPortToElement > list; }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -24584,8 +23587,6 @@ public: /// Reference to the second port that is connected by the objectified relationship. ::Ifc4x3_rc4::IfcPort* RelatedPort() const; void setRelatedPort(::Ifc4x3_rc4::IfcPort* v); - /// Whether the optional attribute RealizingElement is defined for this IfcRelConnectsPorts - bool hasRealizingElement() const; /// Defines the element that realizes a port connection relationship. ::Ifc4x3_rc4::IfcElement* RealizingElement() const; void setRealizingElement(::Ifc4x3_rc4::IfcElement* v); @@ -24593,7 +23594,7 @@ public: static const IfcParse::entity& Class(); IfcRelConnectsPorts (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcRelConnectsPorts > list; + typedef aggregate_of< IfcRelConnectsPorts > list; }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// @@ -24610,7 +23611,7 @@ public: static const IfcParse::entity& Class(); IfcRelConnectsStructuralActivity (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > list; + typedef aggregate_of< IfcRelConnectsStructuralActivity > list; }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -24644,23 +23645,15 @@ public: /// Reference to an instance of IfcStructuralConnection (or its subclasses) which is connected to the specified structural member. ::Ifc4x3_rc4::IfcStructuralConnection* RelatedStructuralConnection() const; void setRelatedStructuralConnection(::Ifc4x3_rc4::IfcStructuralConnection* v); - /// Whether the optional attribute AppliedCondition is defined for this IfcRelConnectsStructuralMember - bool hasAppliedCondition() const; /// Conditions which define the connections properties. Connection conditions are often called "release" but are not only used to define mechanisms like hinges but also rigid, elastic, and other conditions. ::Ifc4x3_rc4::IfcBoundaryCondition* AppliedCondition() const; void setAppliedCondition(::Ifc4x3_rc4::IfcBoundaryCondition* v); - /// Whether the optional attribute AdditionalConditions is defined for this IfcRelConnectsStructuralMember - bool hasAdditionalConditions() const; /// Describes additional connection properties. ::Ifc4x3_rc4::IfcStructuralConnectionCondition* AdditionalConditions() const; void setAdditionalConditions(::Ifc4x3_rc4::IfcStructuralConnectionCondition* v); - /// Whether the optional attribute SupportedLength is defined for this IfcRelConnectsStructuralMember - bool hasSupportedLength() const; /// Defines the 'supported length' of this structural connection. See Fig. for more detail. - double SupportedLength() const; - void setSupportedLength(double v); - /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcRelConnectsStructuralMember - bool hasConditionCoordinateSystem() const; + boost::optional< double > SupportedLength() const; + void setSupportedLength(boost::optional< double > v); /// Defines a coordinate system used for the description of the connection properties in ConnectionCondition relative to the local coordinate system of RelatingStructuralMember. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the local member coordinates where the connection is made and the default axes directions being in parallel with the local axes of RelatingStructuralMember. ::Ifc4x3_rc4::IfcAxis2Placement3D* ConditionCoordinateSystem() const; void setConditionCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement3D* v); @@ -24668,7 +23661,7 @@ public: static const IfcParse::entity& Class(); IfcRelConnectsStructuralMember (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcRelConnectsStructuralMember > list; + typedef aggregate_of< IfcRelConnectsStructuralMember > list; }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -24696,7 +23689,7 @@ public: static const IfcParse::entity& Class(); IfcRelConnectsWithEccentricity (IfcEntityInstanceData* e); IfcRelConnectsWithEccentricity (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, ::Ifc4x3_rc4::IfcConnectionGeometry* v11_ConnectionConstraint); - typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > list; + typedef aggregate_of< IfcRelConnectsWithEccentricity > list; }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -24724,18 +23717,16 @@ public: class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcElement >::ptr RealizingElements() const; - void setRealizingElements(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcElement >::ptr v); - /// Whether the optional attribute ConnectionType is defined for this IfcRelConnectsWithRealizingElements - bool hasConnectionType() const; + aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr RealizingElements() const; + void setRealizingElements(aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr v); /// The type of the connection given for informal purposes, it may include labels, like 'joint', 'rigid joint', 'flexible joint', etc. - std::string ConnectionType() const; - void setConnectionType(std::string v); + boost::optional< std::string > ConnectionType() const; + void setConnectionType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelConnectsWithRealizingElements (IfcEntityInstanceData* e); - IfcRelConnectsWithRealizingElements (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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType); - typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > list; + IfcRelConnectsWithRealizingElements (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, aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType); + typedef aggregate_of< IfcRelConnectsWithRealizingElements > list; }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -24802,16 +23793,16 @@ public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcElement to IfcProduct with upward compatibility - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProduct >::ptr RelatedElements() const; - void setRelatedElements(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProduct >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr RelatedElements() const; + void setRelatedElements(aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v); /// Spatial structure element, within which the element is contained. Any element can only be contained within one element of the project spatial structure. ::Ifc4x3_rc4::IfcSpatialElement* RelatingStructure() const; void setRelatingStructure(::Ifc4x3_rc4::IfcSpatialElement* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelContainedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelContainedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure); - typedef IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > list; + 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); + typedef aggregate_of< IfcRelContainedInSpatialStructure > list; }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -24837,13 +23828,13 @@ public: ::Ifc4x3_rc4::IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(::Ifc4x3_rc4::IfcElement* v); /// Relationship to the set of coverings at this element. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr RelatedCoverings() const; - void setRelatedCoverings(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr RelatedCoverings() const; + void setRelatedCoverings(aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelCoversBldgElements (IfcEntityInstanceData* e); - 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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr v6_RelatedCoverings); - typedef IfcTemplatedEntityList< IfcRelCoversBldgElements > list; + 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); + typedef aggregate_of< IfcRelCoversBldgElements > list; }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -24879,13 +23870,13 @@ public: ::Ifc4x3_rc4::IfcSpace* RelatingSpace() const; void setRelatingSpace(::Ifc4x3_rc4::IfcSpace* v); /// Relationship to the set of coverings covering this space. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr RelatedCoverings() const; - void setRelatedCoverings(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr RelatedCoverings() const; + void setRelatedCoverings(aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelCoversSpaces (IfcEntityInstanceData* e); - 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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCovering >::ptr v6_RelatedCoverings); - typedef IfcTemplatedEntityList< IfcRelCoversSpaces > list; + 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); + typedef aggregate_of< IfcRelCoversSpaces > list; }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -24904,13 +23895,13 @@ public: ::Ifc4x3_rc4::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x3_rc4::IfcContext* v); /// Set of object or property definitions that are assigned to a context and to which the unit and representation context definitions of that context apply. - IfcEntityList::ptr RelatedDefinitions() const; - void setRelatedDefinitions(IfcEntityList::ptr v); + aggregate_of_instance::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of_instance::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions); - typedef IfcTemplatedEntityList< IfcRelDeclares > list; + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -24948,7 +23939,7 @@ public: static const IfcParse::entity& Class(); IfcRelDecomposes (IfcEntityInstanceData* e); IfcRelDecomposes (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcRelDecomposes > list; + typedef aggregate_of< IfcRelDecomposes > list; }; /// A generic and abstract relationship which subtypes are used to: /// @@ -24983,7 +23974,7 @@ public: static const IfcParse::entity& Class(); IfcRelDefines (IfcEntityInstanceData* e); IfcRelDefines (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); - typedef IfcTemplatedEntityList< IfcRelDefines > list; + typedef aggregate_of< IfcRelDefines > list; }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -25003,16 +23994,16 @@ public: class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObject >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObject >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v); /// Object being part of an object type decomposition, acting as the "declaring part" in the relationship. ::Ifc4x3_rc4::IfcObject* RelatingObject() const; void setRelatingObject(::Ifc4x3_rc4::IfcObject* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDefinesByObject (IfcEntityInstanceData* e); - IfcRelDefinesByObject (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcObject* v6_RelatingObject); - typedef IfcTemplatedEntityList< IfcRelDefinesByObject > list; + IfcRelDefinesByObject (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::IfcObject* v6_RelatingObject); + typedef aggregate_of< IfcRelDefinesByObject > list; }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -25032,16 +24023,16 @@ public: class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v); /// Reference to the property set definition for that object or set of objects. ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* RelatingPropertyDefinition() const; void setRelatingPropertyDefinition(::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDefinesByProperties (IfcEntityInstanceData* e); - IfcRelDefinesByProperties (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition); - typedef IfcTemplatedEntityList< IfcRelDefinesByProperties > list; + IfcRelDefinesByProperties (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, ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition); + typedef aggregate_of< IfcRelDefinesByProperties > list; }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -25058,16 +24049,16 @@ public: class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr RelatedPropertySets() const; - void setRelatedPropertySets(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr RelatedPropertySets() const; + void setRelatedPropertySets(aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v); /// Property set template that provides the common definition of related property sets. ::Ifc4x3_rc4::IfcPropertySetTemplate* RelatingTemplate() const; void setRelatingTemplate(::Ifc4x3_rc4::IfcPropertySetTemplate* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDefinesByTemplate (IfcEntityInstanceData* e); - IfcRelDefinesByTemplate (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc4::IfcPropertySetTemplate* v6_RelatingTemplate); - typedef IfcTemplatedEntityList< IfcRelDefinesByTemplate > list; + IfcRelDefinesByTemplate (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::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc4::IfcPropertySetTemplate* v6_RelatingTemplate); + typedef aggregate_of< IfcRelDefinesByTemplate > list; }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -25140,16 +24131,16 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObject >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObject >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v); /// Reference to the type (or style) information for that object or set of objects. ::Ifc4x3_rc4::IfcTypeObject* RelatingType() const; void setRelatingType(::Ifc4x3_rc4::IfcTypeObject* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDefinesByType (IfcEntityInstanceData* e); - IfcRelDefinesByType (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcTypeObject* v6_RelatingType); - typedef IfcTemplatedEntityList< IfcRelDefinesByType > list; + 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); + typedef aggregate_of< IfcRelDefinesByType > list; }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -25174,7 +24165,7 @@ public: static const IfcParse::entity& Class(); IfcRelFillsElement (IfcEntityInstanceData* e); IfcRelFillsElement (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_rc4::IfcElement* v6_RelatedBuildingElement); - typedef IfcTemplatedEntityList< IfcRelFillsElement > list; + typedef aggregate_of< IfcRelFillsElement > list; }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -25186,16 +24177,16 @@ public: class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr RelatedControlElements() const; - void setRelatedControlElements(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr RelatedControlElements() const; + void setRelatedControlElements(aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr v); /// Relationship to a distribution flow element ::Ifc4x3_rc4::IfcDistributionFlowElement* RelatingFlowElement() const; void setRelatingFlowElement(::Ifc4x3_rc4::IfcDistributionFlowElement* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelFlowControlElements (IfcEntityInstanceData* e); - IfcRelFlowControlElements (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc4::IfcDistributionFlowElement* v6_RelatingFlowElement); - typedef IfcTemplatedEntityList< IfcRelFlowControlElements > list; + 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); + typedef aggregate_of< IfcRelFlowControlElements > list; }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -25252,24 +24243,22 @@ public: /// Reference to a subtype of IfcElement that is the RelatedElement in the interference relationship. Depending on the value of ImpliedOrder the RelatedElement may carry the notion to be the element from which the interference geometry should not be subtracted. ::Ifc4x3_rc4::IfcInterferenceSelect* RelatedElement() const; void setRelatedElement(::Ifc4x3_rc4::IfcInterferenceSelect* v); - /// Whether the optional attribute InterferenceGeometry is defined for this IfcRelInterferesElements - bool hasInterferenceGeometry() const; /// The geometric shape representation of the interference geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3_rc4::IfcConnectionGeometry* InterferenceGeometry() const; void setInterferenceGeometry(::Ifc4x3_rc4::IfcConnectionGeometry* v); - /// Whether the optional attribute InterferenceType is defined for this IfcRelInterferesElements - bool hasInterferenceType() const; + ::Ifc4x3_rc4::IfcSpatialZone* InterferenceSpace() const; + void setInterferenceSpace(::Ifc4x3_rc4::IfcSpatialZone* v); /// Optional identifier that describes the nature of the interference. Examples could include 'Clash', 'ProvisionForVoid', etc. - std::string InterferenceType() const; - void setInterferenceType(std::string v); + boost::optional< std::string > InterferenceType() const; + void setInterferenceType(boost::optional< std::string > v); /// Logical value indicating whether the interference geometry should be subtracted from the RelatingElement (if TRUE), or whether it should be either subtracted from the RelatingElement or the RelatedElement (if FALSE), or whether no indication can be provided (if UNKNOWN). - bool ImpliedOrder() const; - void setImpliedOrder(bool v); + boost::logic::tribool ImpliedOrder() const; + void setImpliedOrder(boost::logic::tribool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelInterferesElements (IfcEntityInstanceData* e); - 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, boost::optional< std::string > v8_InterferenceType, bool v9_ImpliedOrder); - typedef IfcTemplatedEntityList< IfcRelInterferesElements > list; + 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); + typedef aggregate_of< IfcRelInterferesElements > list; }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -25306,26 +24295,26 @@ public: /// The object definitions, either non-product object occurrences or non-product object types, that are being nestes. They are defined as the parts in the ordered whole/part relationship - i.e. there is an implied order among the parts expressed by the position within the list of RelatedObjects. /// /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the ordered set of parts within the nest. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelNests (IfcEntityInstanceData* e); - 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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v6_RelatedObjects); - typedef IfcTemplatedEntityList< IfcRelNests > list; + 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); + typedef aggregate_of< IfcRelNests > list; }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: ::Ifc4x3_rc4::IfcPositioningElement* RelatingPositioningElement() const; void setRelatingPositioningElement(::Ifc4x3_rc4::IfcPositioningElement* v); - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProduct >::ptr RelatedProducts() const; - void setRelatedProducts(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProduct >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr RelatedProducts() const; + void setRelatedProducts(aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelPositions (IfcEntityInstanceData* e); - 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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProduct >::ptr v6_RelatedProducts); - typedef IfcTemplatedEntityList< IfcRelPositions > list; + 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); + typedef aggregate_of< IfcRelPositions > list; }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -25371,7 +24360,7 @@ public: static const IfcParse::entity& Class(); IfcRelProjectsElement (IfcEntityInstanceData* e); IfcRelProjectsElement (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, ::Ifc4x3_rc4::IfcFeatureElementAddition* v6_RelatedFeatureElement); - typedef IfcTemplatedEntityList< IfcRelProjectsElement > list; + typedef aggregate_of< IfcRelProjectsElement > list; }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -25426,8 +24415,8 @@ class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - IfcEntityList::ptr RelatedElements() const; - void setRelatedElements(IfcEntityList::ptr v); + aggregate_of_instance::ptr RelatedElements() const; + void setRelatedElements(aggregate_of_instance::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. @@ -25436,8 +24425,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelReferencedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure); - typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > list; + 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); + typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -25501,20 +24490,14 @@ public: /// Reference to the process, that is the successor. ::Ifc4x3_rc4::IfcProcess* RelatedProcess() const; void setRelatedProcess(::Ifc4x3_rc4::IfcProcess* v); - /// Whether the optional attribute TimeLag is defined for this IfcRelSequence - bool hasTimeLag() const; /// Time duration of the sequence, it is the time lag between the /// predecessor and the successor as specified by the /// SequenceType. ::Ifc4x3_rc4::IfcLagTime* TimeLag() const; void setTimeLag(::Ifc4x3_rc4::IfcLagTime* v); - /// Whether the optional attribute SequenceType is defined for this IfcRelSequence - bool hasSequenceType() const; /// The way in which the time lag applies to the sequence. - ::Ifc4x3_rc4::IfcSequenceEnum::Value SequenceType() const; - void setSequenceType(::Ifc4x3_rc4::IfcSequenceEnum::Value v); - /// Whether the optional attribute UserDefinedSequenceType is defined for this IfcRelSequence - bool hasUserDefinedSequenceType() const; + boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > SequenceType() const; + void setSequenceType(boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v); /// Allows for specification of user defined type of the sequence /// beyond the enumeration values (START_START, START_FINISH, /// FINISH_START, FINISH_FINISH) provided by SequenceType @@ -25524,13 +24507,13 @@ public: /// enumeration value USERDEFINED. /// /// Added in IFC 2x4 - std::string UserDefinedSequenceType() const; - void setUserDefinedSequenceType(std::string v); + boost::optional< std::string > UserDefinedSequenceType() const; + void setUserDefinedSequenceType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelSequence (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcRelSequence > list; + typedef aggregate_of< IfcRelSequence > list; }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -25563,13 +24546,13 @@ public: /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuilding to IfcSpatialStructureElement with upward compatibility for file based exchange. /// /// IFC2x Edition 4 CHANGE  The data type has been changed from IfcSpatialStructureElement to IfcSpatialElement with upward compatibility for file based exchange. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSpatialElement >::ptr RelatedBuildings() const; - void setRelatedBuildings(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSpatialElement >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcSpatialElement >::ptr RelatedBuildings() const; + void setRelatedBuildings(aggregate_of< ::Ifc4x3_rc4::IfcSpatialElement >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelServicesBuildings (IfcEntityInstanceData* e); - 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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSpatialElement >::ptr v6_RelatedBuildings); - typedef IfcTemplatedEntityList< IfcRelServicesBuildings > list; + 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); + typedef aggregate_of< IfcRelServicesBuildings > list; }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -25745,8 +24728,6 @@ public: /// IFC2x4 CHANGE  The attribute has been changed to be mandatory. ::Ifc4x3_rc4::IfcElement* RelatedBuildingElement() const; void setRelatedBuildingElement(::Ifc4x3_rc4::IfcElement* v); - /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelSpaceBoundary - bool hasConnectionGeometry() const; /// Physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcConnectionSurfaceGeometry to IfcConnectionGeometry with upward compatibility for file based exchange. @@ -25762,7 +24743,7 @@ public: static const IfcParse::entity& Class(); IfcRelSpaceBoundary (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcRelSpaceBoundary > list; + typedef aggregate_of< IfcRelSpaceBoundary > list; }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -25813,17 +24794,15 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - /// Whether the optional attribute ParentBoundary is defined for this IfcRelSpaceBoundary1stLevel - bool hasParentBoundary() const; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* ParentBoundary() const; void setParentBoundary(::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* v); - IfcTemplatedEntityList< IfcRelSpaceBoundary1stLevel >::ptr InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary + aggregate_of< IfcRelSpaceBoundary1stLevel >::ptr InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelSpaceBoundary1stLevel (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcRelSpaceBoundary1stLevel > list; + typedef aggregate_of< IfcRelSpaceBoundary1stLevel > list; }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -25859,17 +24838,15 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - /// Whether the optional attribute CorrespondingBoundary is defined for this IfcRelSpaceBoundary2ndLevel - bool hasCorrespondingBoundary() const; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; void setCorrespondingBoundary(::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* v); - IfcTemplatedEntityList< IfcRelSpaceBoundary2ndLevel >::ptr Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary + aggregate_of< IfcRelSpaceBoundary2ndLevel >::ptr Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelSpaceBoundary2ndLevel (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcRelSpaceBoundary2ndLevel > list; + typedef aggregate_of< IfcRelSpaceBoundary2ndLevel > list; }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -25888,7 +24865,7 @@ public: static const IfcParse::entity& Class(); IfcRelVoidsElement (IfcEntityInstanceData* e); IfcRelVoidsElement (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, ::Ifc4x3_rc4::IfcFeatureElementSubtraction* v6_RelatedOpeningElement); - typedef IfcTemplatedEntityList< IfcRelVoidsElement > list; + typedef aggregate_of< IfcRelVoidsElement > list; }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -25921,7 +24898,7 @@ public: static const IfcParse::entity& Class(); IfcReparametrisedCompositeCurveSegment (IfcEntityInstanceData* e); IfcReparametrisedCompositeCurveSegment (::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve* v3_ParentCurve, double v4_ParamLength); - typedef IfcTemplatedEntityList< IfcReparametrisedCompositeCurveSegment > list; + typedef aggregate_of< IfcReparametrisedCompositeCurveSegment > list; }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -25938,27 +24915,23 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - /// Whether the optional attribute Identification is defined for this IfcResource - bool hasIdentification() const; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. /// /// IFC2x4 CHANGE Attribute promoted from subtype IfcConstructionResource. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcResource - bool hasLongDescription() const; + boost::optional< std::string > Identification() const; + void setIdentification(boost::optional< std::string > v); /// A detailed description of the resource (e.g. the skillset for a labor resource). /// /// IFC2x4 NOTE:  The attribute LongDescription is added replacing the ResourceGroup attribute at subtype IfcConstructionResource. - std::string LongDescription() const; - void setLongDescription(std::string v); - IfcTemplatedEntityList< IfcRelAssignsToResource >::ptr ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource + boost::optional< std::string > LongDescription() const; + void setLongDescription(boost::optional< std::string > v); + aggregate_of< IfcRelAssignsToResource >::ptr ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResource (IfcEntityInstanceData* e); IfcResource (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); - typedef IfcTemplatedEntityList< IfcResource > list; + typedef aggregate_of< IfcResource > list; }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -26048,7 +25021,7 @@ public: static const IfcParse::entity& Class(); IfcRevolvedAreaSolid (IfcEntityInstanceData* e); IfcRevolvedAreaSolid (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement* v3_Axis, double v4_Angle); - typedef IfcTemplatedEntityList< IfcRevolvedAreaSolid > list; + typedef aggregate_of< IfcRevolvedAreaSolid > list; }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -26116,7 +25089,7 @@ public: static const IfcParse::entity& Class(); IfcRevolvedAreaSolidTapered (IfcEntityInstanceData* e); IfcRevolvedAreaSolidTapered (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_rc4::IfcProfileDef* v5_EndSweptArea); - typedef IfcTemplatedEntityList< IfcRevolvedAreaSolidTapered > list; + typedef aggregate_of< IfcRevolvedAreaSolidTapered > list; }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -26195,7 +25168,7 @@ public: static const IfcParse::entity& Class(); IfcRightCircularCone (IfcEntityInstanceData* e); IfcRightCircularCone (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius); - typedef IfcTemplatedEntityList< IfcRightCircularCone > list; + typedef aggregate_of< IfcRightCircularCone > list; }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -26290,50 +25263,50 @@ public: static const IfcParse::entity& Class(); IfcRightCircularCylinder (IfcEntityInstanceData* e); IfcRightCircularCylinder (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius); - typedef IfcTemplatedEntityList< IfcRightCircularCylinder > list; + typedef aggregate_of< IfcRightCircularCylinder > list; }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: ::Ifc4x3_rc4::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc4::IfcCurve* v); - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr CrossSections() const; - void setCrossSections(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr CrossSections() const; + void setCrossSections(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSectionedSolid (IfcEntityInstanceData* e); - IfcSectionedSolid (::Ifc4x3_rc4::IfcCurve* v1_Directrix, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections); - typedef IfcTemplatedEntityList< IfcSectionedSolid > list; + IfcSectionedSolid (::Ifc4x3_rc4::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections); + typedef aggregate_of< IfcSectionedSolid > list; }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr CrossSectionPositions() const; - void setCrossSectionPositions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr CrossSectionPositions() const; + void setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr v); bool FixedAxisVertical() const; void setFixedAxisVertical(bool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSectionedSolidHorizontal (IfcEntityInstanceData* e); - IfcSectionedSolidHorizontal (::Ifc4x3_rc4::IfcCurve* v1_Directrix, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical); - typedef IfcTemplatedEntityList< IfcSectionedSolidHorizontal > list; + 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); + typedef aggregate_of< IfcSectionedSolidHorizontal > list; }; class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: ::Ifc4x3_rc4::IfcCurve* Directrix() const; void setDirectrix(::Ifc4x3_rc4::IfcCurve* v); - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr CrossSectionPositions() const; - void setCrossSectionPositions(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v); - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr CrossSections() const; - void setCrossSections(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr CrossSectionPositions() const; + void setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr CrossSections() const; + void setCrossSections(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v); bool FixedAxisVertical() const; void setFixedAxisVertical(bool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSectionedSurface (IfcEntityInstanceData* e); - IfcSectionedSurface (::Ifc4x3_rc4::IfcCurve* v1_Directrix, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v2_CrossSectionPositions, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical); - typedef IfcTemplatedEntityList< IfcSectionedSurface > list; + IfcSectionedSurface (::Ifc4x3_rc4::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical); + typedef aggregate_of< IfcSectionedSurface > list; }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -26382,27 +25355,17 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - /// Whether the optional attribute TemplateType is defined for this IfcSimplePropertyTemplate - bool hasTemplateType() const; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// /// NOTE the value of this property determines the correct use of the PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, and Expression attributes. - ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value TemplateType() const; - void setTemplateType(::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value v); - /// Whether the optional attribute PrimaryMeasureType is defined for this IfcSimplePropertyTemplate - bool hasPrimaryMeasureType() const; - std::string PrimaryMeasureType() const; - void setPrimaryMeasureType(std::string v); - /// Whether the optional attribute SecondaryMeasureType is defined for this IfcSimplePropertyTemplate - bool hasSecondaryMeasureType() const; - std::string SecondaryMeasureType() const; - void setSecondaryMeasureType(std::string v); - /// Whether the optional attribute Enumerators is defined for this IfcSimplePropertyTemplate - bool hasEnumerators() const; + boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > TemplateType() const; + void setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > v); + boost::optional< std::string > PrimaryMeasureType() const; + void setPrimaryMeasureType(boost::optional< std::string > v); + boost::optional< std::string > SecondaryMeasureType() const; + void setSecondaryMeasureType(boost::optional< std::string > v); ::Ifc4x3_rc4::IfcPropertyEnumeration* Enumerators() const; void setEnumerators(::Ifc4x3_rc4::IfcPropertyEnumeration* v); - /// Whether the optional attribute PrimaryUnit is defined for this IfcSimplePropertyTemplate - bool hasPrimaryUnit() const; /// Primary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to: /// /// P_SINGLEVALUE: determining the IfcPropertySingleValue.Unit @@ -26412,25 +25375,19 @@ public: /// P_TABLEVALUE: determining the IfcPropertyTableValue.DefiningUnit ::Ifc4x3_rc4::IfcUnit* PrimaryUnit() const; void setPrimaryUnit(::Ifc4x3_rc4::IfcUnit* v); - /// Whether the optional attribute SecondaryUnit is defined for this IfcSimplePropertyTemplate - bool hasSecondaryUnit() const; /// Secondary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to: /// /// P_TABLEVALUE: determining the IfcPropertyTableValue.DefinedUnit ::Ifc4x3_rc4::IfcUnit* SecondaryUnit() const; void setSecondaryUnit(::Ifc4x3_rc4::IfcUnit* v); - /// Whether the optional attribute Expression is defined for this IfcSimplePropertyTemplate - bool hasExpression() const; /// The expression used to store additional information for the property template depending on the PropertyType. It should the following definitions, if the PropertyType is set to: /// /// P_TABLEVALUE: the expression that could be evaluated to define the correlation between the defining values and the defined values. /// Q_LENGTH, Q_AREA, Q_VOLUME, Q_COUNT, Q_WEIGTH, Q_TIME: the formula to be used to calculate the quantity /// /// NOTE No value shall be asserted if the PropertyType is not listed above. - std::string Expression() const; - void setExpression(std::string v); - /// Whether the optional attribute AccessState is defined for this IfcSimplePropertyTemplate - bool hasAccessState() const; + boost::optional< std::string > Expression() const; + void setExpression(boost::optional< std::string > v); /// Information about the access state of the property. It determines whether a property be viewed and/or modified by any receiving application without specific knowledge of it. /// Attribute use definition for IfcStateEnum /// @@ -26443,13 +25400,13 @@ public: /// READWRITELOCKED: Properties of this template are locked, readable, and writable. They may only be accessed by the owning application. /// /// READONLYLOCKED: Properties of this template are locked and read-only. They may only be accessed by the owning application. - ::Ifc4x3_rc4::IfcStateEnum::Value AccessState() const; - void setAccessState(::Ifc4x3_rc4::IfcStateEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > AccessState() const; + void setAccessState(boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSimplePropertyTemplate (IfcEntityInstanceData* e); IfcSimplePropertyTemplate (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::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc4::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_rc4::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_rc4::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v12_AccessState); - typedef IfcTemplatedEntityList< IfcSimplePropertyTemplate > list; + typedef aggregate_of< IfcSimplePropertyTemplate > list; }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -26484,21 +25441,19 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - /// Whether the optional attribute LongName is defined for this IfcSpatialElement - bool hasLongName() const; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// /// NOTE In many scenarios the Name attribute refers to the short name or number of a spacial element, and the LongName refers to the full name. - std::string LongName() const; - void setLongName(std::string v); - IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainsElements() const; // INVERSE IfcRelContainedInSpatialStructure::RelatingStructure - IfcTemplatedEntityList< IfcRelServicesBuildings >::ptr ServicedBySystems() const; // INVERSE IfcRelServicesBuildings::RelatedBuildings - IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::ptr ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure + boost::optional< std::string > LongName() const; + void setLongName(boost::optional< std::string > v); + aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainsElements() const; // INVERSE IfcRelContainedInSpatialStructure::RelatingStructure + aggregate_of< IfcRelServicesBuildings >::ptr ServicedBySystems() const; // INVERSE IfcRelServicesBuildings::RelatedBuildings + aggregate_of< IfcRelReferencedInSpatialStructure >::ptr ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpatialElement (IfcEntityInstanceData* e); IfcSpatialElement (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); - typedef IfcTemplatedEntityList< IfcSpatialElement > list; + typedef aggregate_of< IfcSpatialElement > list; }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -26533,16 +25488,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - /// Whether the optional attribute ElementType is defined for this IfcSpatialElementType - bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - std::string ElementType() const; - void setElementType(std::string v); + boost::optional< std::string > ElementType() const; + void setElementType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpatialElementType (IfcEntityInstanceData* e); - IfcSpatialElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcSpatialElementType > list; + IfcSpatialElementType (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); + typedef aggregate_of< IfcSpatialElementType > list; }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -26620,19 +25573,17 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - /// Whether the optional attribute CompositionType is defined for this IfcSpatialStructureElement - bool hasCompositionType() const; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// /// IFC2x4 CHANGE  /// Attribute made optional. - ::Ifc4x3_rc4::IfcElementCompositionEnum::Value CompositionType() const; - void setCompositionType(::Ifc4x3_rc4::IfcElementCompositionEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > CompositionType() const; + void setCompositionType(boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpatialStructureElement (IfcEntityInstanceData* e); IfcSpatialStructureElement (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); - typedef IfcTemplatedEntityList< IfcSpatialStructureElement > list; + typedef aggregate_of< IfcSpatialStructureElement > list; }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -26673,8 +25624,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpatialStructureElementType (IfcEntityInstanceData* e); - IfcSpatialStructureElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcSpatialStructureElementType > list; + IfcSpatialStructureElementType (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); + typedef aggregate_of< IfcSpatialStructureElementType > list; }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -26727,16 +25678,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSpatialZone - bool hasPredefinedType() const; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. - ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpatialZone (IfcEntityInstanceData* e); IfcSpatialZone (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::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSpatialZone > list; + typedef aggregate_of< IfcSpatialZone > list; }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -26773,15 +25722,13 @@ public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v); - /// Whether the optional attribute LongName is defined for this IfcSpatialZoneType - bool hasLongName() const; - std::string LongName() const; - void setLongName(std::string v); + boost::optional< std::string > LongName() const; + void setLongName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpatialZoneType (IfcEntityInstanceData* e); - IfcSpatialZoneType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName); - typedef IfcTemplatedEntityList< IfcSpatialZoneType > list; + IfcSpatialZoneType (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::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName); + typedef aggregate_of< IfcSpatialZoneType > list; }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -26842,7 +25789,7 @@ public: static const IfcParse::entity& Class(); IfcSphere (IfcEntityInstanceData* e); IfcSphere (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius); - typedef IfcTemplatedEntityList< IfcSphere > list; + typedef aggregate_of< IfcSphere > list; }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { @@ -26853,20 +25800,18 @@ public: static const IfcParse::entity& Class(); IfcSphericalSurface (IfcEntityInstanceData* e); IfcSphericalSurface (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius); - typedef IfcTemplatedEntityList< IfcSphericalSurface > list; + typedef aggregate_of< IfcSphericalSurface > list; }; class IFC_PARSE_API IfcSpiral : public IfcCurve { public: - /// Whether the optional attribute Position is defined for this IfcSpiral - bool hasPosition() const; ::Ifc4x3_rc4::IfcAxis2Placement* Position() const; void setPosition(::Ifc4x3_rc4::IfcAxis2Placement* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpiral (IfcEntityInstanceData* e); IfcSpiral (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position); - typedef IfcTemplatedEntityList< IfcSpiral > list; + typedef aggregate_of< IfcSpiral > list; }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -26987,12 +25932,12 @@ public: /// as established by subclass-specific geometry use definitions. ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value GlobalOrLocal() const; void setGlobalOrLocal(::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v); - IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::ptr AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity + aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralActivity (IfcEntityInstanceData* e); IfcStructuralActivity (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); - typedef IfcTemplatedEntityList< IfcStructuralActivity > list; + typedef aggregate_of< IfcStructuralActivity > list; }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -27083,12 +26028,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement + aggregate_of< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralItem (IfcEntityInstanceData* e); IfcStructuralItem (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); - typedef IfcTemplatedEntityList< IfcStructuralItem > list; + typedef aggregate_of< IfcStructuralItem > list; }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -27096,12 +26041,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcTemplatedEntityList< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember + aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralMember (IfcEntityInstanceData* e); IfcStructuralMember (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); - typedef IfcTemplatedEntityList< IfcStructuralMember > list; + typedef aggregate_of< IfcStructuralMember > list; }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -27129,7 +26074,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralReaction (IfcEntityInstanceData* e); IfcStructuralReaction (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); - typedef IfcTemplatedEntityList< IfcStructuralReaction > list; + typedef aggregate_of< IfcStructuralReaction > list; }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -27156,16 +26101,14 @@ public: /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v); - /// Whether the optional attribute Thickness is defined for this IfcStructuralSurfaceMember - bool hasThickness() const; /// Defines the typically understood thickness of the structural surface member, measured normal to its reference surface. - double Thickness() const; - void setThickness(double v); + boost::optional< double > Thickness() const; + void setThickness(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralSurfaceMember (IfcEntityInstanceData* e); IfcStructuralSurfaceMember (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::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness); - typedef IfcTemplatedEntityList< IfcStructuralSurfaceMember > list; + typedef aggregate_of< IfcStructuralSurfaceMember > list; }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -27191,7 +26134,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralSurfaceMemberVarying (IfcEntityInstanceData* e); IfcStructuralSurfaceMemberVarying (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::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness); - typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > list; + typedef aggregate_of< IfcStructuralSurfaceMemberVarying > list; }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -27224,7 +26167,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralSurfaceReaction (IfcEntityInstanceData* e); IfcStructuralSurfaceReaction (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, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcStructuralSurfaceReaction > list; + typedef aggregate_of< IfcStructuralSurfaceReaction > list; }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -27245,23 +26188,23 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSubContractResourceType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); - typedef IfcTemplatedEntityList< IfcSubContractResourceType > list; + 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); + typedef aggregate_of< IfcSubContractResourceType > list; }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: ::Ifc4x3_rc4::IfcCurve* Curve3D() const; void setCurve3D(::Ifc4x3_rc4::IfcCurve* v); - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPcurve >::ptr AssociatedGeometry() const; - void setAssociatedGeometry(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPcurve >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr AssociatedGeometry() const; + void setAssociatedGeometry(aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr v); ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value MasterRepresentation() const; void setMasterRepresentation(::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceCurve (IfcEntityInstanceData* e); - IfcSurfaceCurve (::Ifc4x3_rc4::IfcCurve* v1_Curve3D, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); - typedef IfcTemplatedEntityList< IfcSurfaceCurve > list; + IfcSurfaceCurve (::Ifc4x3_rc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + typedef aggregate_of< IfcSurfaceCurve > list; }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -27334,7 +26277,7 @@ public: static const IfcParse::entity& Class(); IfcSurfaceCurveSweptAreaSolid (IfcEntityInstanceData* e); IfcSurfaceCurveSweptAreaSolid (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc4::IfcSurface* v6_ReferenceSurface); - typedef IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid > list; + typedef aggregate_of< IfcSurfaceCurveSweptAreaSolid > list; }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -27361,7 +26304,7 @@ public: static const IfcParse::entity& Class(); IfcSurfaceOfLinearExtrusion (IfcEntityInstanceData* e); IfcSurfaceOfLinearExtrusion (::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth); - typedef IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion > list; + typedef aggregate_of< IfcSurfaceOfLinearExtrusion > list; }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -27389,7 +26332,7 @@ public: static const IfcParse::entity& Class(); IfcSurfaceOfRevolution (IfcEntityInstanceData* e); IfcSurfaceOfRevolution (::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement* v3_AxisPosition); - typedef IfcTemplatedEntityList< IfcSurfaceOfRevolution > list; + typedef aggregate_of< IfcSurfaceOfRevolution > list; }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -27423,15 +26366,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSystemFurnitureElementType - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSystemFurnitureElementType (IfcEntityInstanceData* e); - IfcSystemFurnitureElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcSystemFurnitureElementType > list; + IfcSystemFurnitureElementType (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, boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + typedef aggregate_of< IfcSystemFurnitureElementType > list; }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -27680,25 +26621,21 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - /// Whether the optional attribute Status is defined for this IfcTask - bool hasStatus() const; /// Current status of the task. /// /// NOTE: Particular values for status are not /// specified, these should be determined and agreed by local /// usage. Examples of possible status values include 'Not Yet /// Started', 'Started', 'Completed'. - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute WorkMethod is defined for this IfcTask - bool hasWorkMethod() const; + boost::optional< std::string > Status() const; + void setStatus(boost::optional< std::string > v); /// The method of work used in carrying out a task. /// /// NOTE: This attribute should /// not be used if the work method is specified for the /// IfcTaskType - std::string WorkMethod() const; - void setWorkMethod(std::string v); + boost::optional< std::string > WorkMethod() const; + void setWorkMethod(boost::optional< std::string > v); /// Identifies whether a task is a milestone task (=TRUE) or not /// (= FALSE). /// @@ -27708,32 +26645,26 @@ public: /// time. bool IsMilestone() const; void setIsMilestone(bool v); - /// Whether the optional attribute Priority is defined for this IfcTask - bool hasPriority() const; /// A value that indicates the relative priority of the task (in /// comparison to the priorities of other tasks). - int Priority() const; - void setPriority(int v); - /// Whether the optional attribute TaskTime is defined for this IfcTask - bool hasTaskTime() const; + boost::optional< int > Priority() const; + void setPriority(boost::optional< int > v); /// Time related information for the task. /// /// Added in IFC 2x4 ::Ifc4x3_rc4::IfcTaskTime* TaskTime() const; void setTaskTime(::Ifc4x3_rc4::IfcTaskTime* v); - /// Whether the optional attribute PredefinedType is defined for this IfcTask - bool hasPredefinedType() const; /// Identifies the predefined types of a task from which /// the type required may be set. /// /// Added in IFC 2x4 - ::Ifc4x3_rc4::IfcTaskTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcTaskTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTask (IfcEntityInstanceData* e); IfcTask (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, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3_rc4::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v13_PredefinedType); - typedef IfcTemplatedEntityList< IfcTask > list; + typedef aggregate_of< IfcTask > list; }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -27781,52 +26712,44 @@ public: /// the type required may be set. ::Ifc4x3_rc4::IfcTaskTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcTaskTypeEnum::Value v); - /// Whether the optional attribute WorkMethod is defined for this IfcTaskType - bool hasWorkMethod() const; /// The method of work used in carrying out a task. - std::string WorkMethod() const; - void setWorkMethod(std::string v); + boost::optional< std::string > WorkMethod() const; + void setWorkMethod(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTaskType (IfcEntityInstanceData* e); - IfcTaskType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod); - typedef IfcTemplatedEntityList< IfcTaskType > list; + IfcTaskType (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_ProcessType, ::Ifc4x3_rc4::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod); + typedef aggregate_of< IfcTaskType > list; }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: ::Ifc4x3_rc4::IfcCartesianPointList3D* Coordinates() const; void setCoordinates(::Ifc4x3_rc4::IfcCartesianPointList3D* v); - IfcTemplatedEntityList< IfcIndexedColourMap >::ptr HasColours() const; // INVERSE IfcIndexedColourMap::MappedTo - IfcTemplatedEntityList< IfcIndexedTextureMap >::ptr HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo + aggregate_of< IfcIndexedColourMap >::ptr HasColours() const; // INVERSE IfcIndexedColourMap::MappedTo + aggregate_of< IfcIndexedTextureMap >::ptr HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTessellatedFaceSet (IfcEntityInstanceData* e); IfcTessellatedFaceSet (::Ifc4x3_rc4::IfcCartesianPointList3D* v1_Coordinates); - typedef IfcTemplatedEntityList< IfcTessellatedFaceSet > list; + typedef aggregate_of< IfcTessellatedFaceSet > list; }; class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { public: - double QubicTerm() const; - void setQubicTerm(double v); - /// Whether the optional attribute QuadraticTerm is defined for this IfcThirdOrderPolynomialSpiral - bool hasQuadraticTerm() const; - double QuadraticTerm() const; - void setQuadraticTerm(double v); - /// Whether the optional attribute LinearTerm is defined for this IfcThirdOrderPolynomialSpiral - bool hasLinearTerm() const; - double LinearTerm() const; - void setLinearTerm(double v); - /// Whether the optional attribute ConstantTerm is defined for this IfcThirdOrderPolynomialSpiral - bool hasConstantTerm() const; - double ConstantTerm() const; - void setConstantTerm(double v); + double CubicTerm() const; + void setCubicTerm(double v); + boost::optional< double > QuadraticTerm() const; + void setQuadraticTerm(boost::optional< double > v); + boost::optional< double > LinearTerm() const; + void setLinearTerm(boost::optional< double > v); + boost::optional< double > ConstantTerm() const; + void setConstantTerm(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcThirdOrderPolynomialSpiral (IfcEntityInstanceData* e); - IfcThirdOrderPolynomialSpiral (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_QubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm); - typedef IfcTemplatedEntityList< IfcThirdOrderPolynomialSpiral > list; + IfcThirdOrderPolynomialSpiral (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm); + typedef aggregate_of< IfcThirdOrderPolynomialSpiral > list; }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { @@ -27839,7 +26762,7 @@ public: static const IfcParse::entity& Class(); IfcToroidalSurface (IfcEntityInstanceData* e); IfcToroidalSurface (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius); - typedef IfcTemplatedEntityList< IfcToroidalSurface > list; + typedef aggregate_of< IfcToroidalSurface > list; }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -27912,31 +26835,25 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTransportElementType (IfcEntityInstanceData* e); - IfcTransportElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransportElementTypeSelect* v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcTransportElementType > list; + IfcTransportElementType (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::IfcTransportElementTypeSelect* v10_PredefinedType); + typedef aggregate_of< IfcTransportElementType > list; }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - /// Whether the optional attribute Normals is defined for this IfcTriangulatedFaceSet - bool hasNormals() const; - std::vector< std::vector< double > > Normals() const; - void setNormals(std::vector< std::vector< double > > v); - /// Whether the optional attribute Closed is defined for this IfcTriangulatedFaceSet - bool hasClosed() const; - bool Closed() const; - void setClosed(bool v); + boost::optional< std::vector< std::vector< double > > > Normals() const; + void setNormals(boost::optional< std::vector< std::vector< double > > > v); + boost::optional< bool > Closed() const; + void setClosed(boost::optional< bool > v); std::vector< std::vector< int > > CoordIndex() const; void setCoordIndex(std::vector< std::vector< int > > v); - /// Whether the optional attribute PnIndex is defined for this IfcTriangulatedFaceSet - bool hasPnIndex() const; - std::vector< int > /*[1:?]*/ PnIndex() const; - void setPnIndex(std::vector< int > /*[1:?]*/ v); + boost::optional< std::vector< int > /*[1:?]*/ > PnIndex() const; + void setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTriangulatedFaceSet (IfcEntityInstanceData* e); IfcTriangulatedFaceSet (::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); - typedef IfcTemplatedEntityList< IfcTriangulatedFaceSet > list; + typedef aggregate_of< IfcTriangulatedFaceSet > list; }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { @@ -27947,7 +26864,7 @@ public: static const IfcParse::entity& Class(); IfcTriangulatedIrregularNetwork (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcTriangulatedIrregularNetwork > list; + typedef aggregate_of< IfcTriangulatedIrregularNetwork > list; }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -28049,79 +26966,55 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - /// Whether the optional attribute LiningDepth is defined for this IfcWindowLiningProperties - bool hasLiningDepth() const; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). - double LiningDepth() const; - void setLiningDepth(double v); - /// Whether the optional attribute LiningThickness is defined for this IfcWindowLiningProperties - bool hasLiningThickness() const; + boost::optional< double > LiningDepth() const; + void setLiningDepth(boost::optional< double > v); /// Thickness of the window lining (measured parallel to the window elevation plane). - double LiningThickness() const; - void setLiningThickness(double v); - /// Whether the optional attribute TransomThickness is defined for this IfcWindowLiningProperties - bool hasTransomThickness() const; + boost::optional< double > LiningThickness() const; + void setLiningThickness(boost::optional< double > v); /// Thickness of the transom (horizontal separator of window panels within a window), measured parallel to the window elevation plane. The transom is part of the lining and the transom depth is assumed to be identical to the lining depth. - double TransomThickness() const; - void setTransomThickness(double v); - /// Whether the optional attribute MullionThickness is defined for this IfcWindowLiningProperties - bool hasMullionThickness() const; + boost::optional< double > TransomThickness() const; + void setTransomThickness(boost::optional< double > v); /// Thickness of the mullion (vertical separator of window panels within a window), measured parallel to the window elevation plane. The mullion is part of the lining and the mullion depth is assumed to be identical to the lining depth. - double MullionThickness() const; - void setMullionThickness(double v); - /// Whether the optional attribute FirstTransomOffset is defined for this IfcWindowLiningProperties - bool hasFirstTransomOffset() const; + boost::optional< double > MullionThickness() const; + void setMullionThickness(boost::optional< double > v); /// Offset of the transom centerline, measured along the z-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the transom is positioned in the middle of the window. - double FirstTransomOffset() const; - void setFirstTransomOffset(double v); - /// Whether the optional attribute SecondTransomOffset is defined for this IfcWindowLiningProperties - bool hasSecondTransomOffset() const; + boost::optional< double > FirstTransomOffset() const; + void setFirstTransomOffset(boost::optional< double > v); /// Offset of the transom centerline for the second transom, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second transom is positioned at two/third of the window. - double SecondTransomOffset() const; - void setSecondTransomOffset(double v); - /// Whether the optional attribute FirstMullionOffset is defined for this IfcWindowLiningProperties - bool hasFirstMullionOffset() const; + boost::optional< double > SecondTransomOffset() const; + void setSecondTransomOffset(boost::optional< double > v); /// Offset of the mullion centerline, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the mullion is positioned in the middle of the window. - double FirstMullionOffset() const; - void setFirstMullionOffset(double v); - /// Whether the optional attribute SecondMullionOffset is defined for this IfcWindowLiningProperties - bool hasSecondMullionOffset() const; + boost::optional< double > FirstMullionOffset() const; + void setFirstMullionOffset(boost::optional< double > v); /// Offset of the mullion centerline for the second mullion, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second mullion is positioned at two/third of the window. - double SecondMullionOffset() const; - void setSecondMullionOffset(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowLiningProperties - bool hasShapeAspectStyle() const; + boost::optional< double > SecondMullionOffset() const; + void setSecondMullionOffset(boost::optional< double > v); /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). ::Ifc4x3_rc4::IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v); - /// Whether the optional attribute LiningOffset is defined for this IfcWindowLiningProperties - bool hasLiningOffset() const; /// Offset of the window lining. The offset is given as distance along the y axis of the local placement (perpendicular to the window plane). /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningOffset() const; - void setLiningOffset(double v); - /// Whether the optional attribute LiningToPanelOffsetX is defined for this IfcWindowLiningProperties - bool hasLiningToPanelOffsetX() const; + boost::optional< double > LiningOffset() const; + void setLiningOffset(boost::optional< double > v); /// Offset between the lining and the window panel measured along the x-axis of the local placement. Should be smaller or equal to the LiningThickness. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningToPanelOffsetX() const; - void setLiningToPanelOffsetX(double v); - /// Whether the optional attribute LiningToPanelOffsetY is defined for this IfcWindowLiningProperties - bool hasLiningToPanelOffsetY() const; + boost::optional< double > LiningToPanelOffsetX() const; + void setLiningToPanelOffsetX(boost::optional< double > v); /// Offset between the lining and the window panel measured along the y-axis of the local placement. Should be smaller or equal to the IfcWindowPanelProperties.PanelThickness. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningToPanelOffsetY() const; - void setLiningToPanelOffsetY(double v); + boost::optional< double > LiningToPanelOffsetY() const; + void setLiningToPanelOffsetY(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWindowLiningProperties (IfcEntityInstanceData* e); IfcWindowLiningProperties (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc4::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY); - typedef IfcTemplatedEntityList< IfcWindowLiningProperties > list; + typedef aggregate_of< IfcWindowLiningProperties > list; }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -28176,18 +27069,12 @@ public: /// Position of this panel within the overall window style. ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value PanelPosition() const; void setPanelPosition(::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v); - /// Whether the optional attribute FrameDepth is defined for this IfcWindowPanelProperties - bool hasFrameDepth() const; /// Depth of panel frame, measured from front face to back face horizontally (i.e. perpendicular to the window (elevation) plane. - double FrameDepth() const; - void setFrameDepth(double v); - /// Whether the optional attribute FrameThickness is defined for this IfcWindowPanelProperties - bool hasFrameThickness() const; + boost::optional< double > FrameDepth() const; + void setFrameDepth(boost::optional< double > v); /// Width of panel frame, measured from inside of panel (at glazing) to outside of panel (at lining), i.e. parallel to the window (elevation) plane. - double FrameThickness() const; - void setFrameThickness(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowPanelProperties - bool hasShapeAspectStyle() const; + boost::optional< double > FrameThickness() const; + void setFrameThickness(boost::optional< double > v); /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the panel. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). @@ -28197,7 +27084,7 @@ public: static const IfcParse::entity& Class(); IfcWindowPanelProperties (IfcEntityInstanceData* e); IfcWindowPanelProperties (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect* v9_ShapeAspectStyle); - typedef IfcTemplatedEntityList< IfcWindowPanelProperties > list; + typedef aggregate_of< IfcWindowPanelProperties > list; }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -28219,12 +27106,12 @@ public: /// Information about the actor. ::Ifc4x3_rc4::IfcActorSelect* TheActor() const; void setTheActor(::Ifc4x3_rc4::IfcActorSelect* v); - IfcTemplatedEntityList< IfcRelAssignsToActor >::ptr IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor + aggregate_of< IfcRelAssignsToActor >::ptr IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcActor (IfcEntityInstanceData* e); IfcActor (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); - typedef IfcTemplatedEntityList< IfcActor > list; + typedef aggregate_of< IfcActor > list; }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -28265,7 +27152,7 @@ public: static const IfcParse::entity& Class(); IfcAdvancedBrep (IfcEntityInstanceData* e); IfcAdvancedBrep (::Ifc4x3_rc4::IfcClosedShell* v1_Outer); - typedef IfcTemplatedEntityList< IfcAdvancedBrep > list; + typedef aggregate_of< IfcAdvancedBrep > list; }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -28290,13 +27177,13 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr Voids() const; - void setVoids(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Voids() const; + void setVoids(aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAdvancedBrepWithVoids (IfcEntityInstanceData* e); - IfcAdvancedBrepWithVoids (::Ifc4x3_rc4::IfcClosedShell* v1_Outer, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids); - typedef IfcTemplatedEntityList< IfcAdvancedBrepWithVoids > list; + IfcAdvancedBrepWithVoids (::Ifc4x3_rc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids); + typedef aggregate_of< IfcAdvancedBrepWithVoids > list; }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -28473,16 +27360,14 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAnnotation - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value v); - IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v); + aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAnnotation (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcAnnotation > list; + typedef aggregate_of< IfcAnnotation > list; }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -28562,25 +27447,25 @@ public: int VDegree() const; void setVDegree(int v); /// This is a list of lists of control points. - IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr ControlPointsList() const; - void setControlPointsList(IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v); + aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr ControlPointsList() const; + void setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v); /// Indicator of special surface types. ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value SurfaceForm() const; void setSurfaceForm(::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v); /// Indication of whether the surface is closed in the u direction; this is for information only. - bool UClosed() const; - void setUClosed(bool v); + boost::logic::tribool UClosed() const; + void setUClosed(boost::logic::tribool v); /// Indication of whether the surface is closed in the v direction; this is for information only. - bool VClosed() const; - void setVClosed(bool v); + boost::logic::tribool VClosed() const; + void setVClosed(boost::logic::tribool v); /// Flag to indicate whether, or not, surface is self-intersecting; this is for information only. - bool SelfIntersect() const; - void setSelfIntersect(bool v); + boost::logic::tribool SelfIntersect() const; + void setSelfIntersect(boost::logic::tribool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBSplineSurface (IfcEntityInstanceData* e); - IfcBSplineSurface (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect); - typedef IfcTemplatedEntityList< IfcBSplineSurface > list; + IfcBSplineSurface (int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + typedef aggregate_of< IfcBSplineSurface > list; }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -28609,8 +27494,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBSplineSurfaceWithKnots (IfcEntityInstanceData* e); - IfcBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec); - typedef IfcTemplatedEntityList< IfcBSplineSurfaceWithKnots > list; + IfcBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec); + typedef aggregate_of< IfcBSplineSurfaceWithKnots > list; }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -28724,7 +27609,7 @@ public: static const IfcParse::entity& Class(); IfcBlock (IfcEntityInstanceData* e); IfcBlock (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); - typedef IfcTemplatedEntityList< IfcBlock > list; + typedef aggregate_of< IfcBlock > list; }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -28739,7 +27624,7 @@ public: static const IfcParse::entity& Class(); IfcBooleanClippingResult (IfcEntityInstanceData* e); IfcBooleanClippingResult (::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand* v3_SecondOperand); - typedef IfcTemplatedEntityList< IfcBooleanClippingResult > list; + typedef aggregate_of< IfcBooleanClippingResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -28757,7 +27642,7 @@ public: static const IfcParse::entity& Class(); IfcBoundedCurve (IfcEntityInstanceData* e); IfcBoundedCurve (); - typedef IfcTemplatedEntityList< IfcBoundedCurve > list; + typedef aggregate_of< IfcBoundedCurve > list; }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -28938,16 +27823,14 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - /// Whether the optional attribute Elevation is defined for this IfcBuildingStorey - bool hasElevation() const; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. - double Elevation() const; - void setElevation(double v); + boost::optional< double > Elevation() const; + void setElevation(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBuildingStorey (IfcEntityInstanceData* e); IfcBuildingStorey (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, boost::optional< double > v10_Elevation); - typedef IfcTemplatedEntityList< IfcBuildingStorey > list; + typedef aggregate_of< IfcBuildingStorey > list; }; class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { @@ -28955,8 +27838,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBuiltElementType (IfcEntityInstanceData* e); - IfcBuiltElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcBuiltElementType > list; + IfcBuiltElementType (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); + typedef aggregate_of< IfcBuiltElementType > list; }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -28991,8 +27874,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcChimneyType (IfcEntityInstanceData* e); - IfcChimneyType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcChimneyType > list; + IfcChimneyType (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::IfcChimneyTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcChimneyType > list; }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -29021,7 +27904,7 @@ public: static const IfcParse::entity& Class(); IfcCircleHollowProfileDef (IfcEntityInstanceData* e); IfcCircleHollowProfileDef (::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness); - typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef > list; + typedef aggregate_of< IfcCircleHollowProfileDef > list; }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { @@ -29029,8 +27912,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCivilElementType (IfcEntityInstanceData* e); - IfcCivilElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcCivilElementType > list; + IfcCivilElementType (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); + typedef aggregate_of< IfcCivilElementType > list; }; class IFC_PARSE_API IfcClothoid : public IfcSpiral { @@ -29041,7 +27924,7 @@ public: static const IfcParse::entity& Class(); IfcClothoid (IfcEntityInstanceData* e); IfcClothoid (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant); - typedef IfcTemplatedEntityList< IfcClothoid > list; + typedef aggregate_of< IfcClothoid > list; }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -29149,8 +28032,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcColumnType (IfcEntityInstanceData* e); - IfcColumnType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcColumnTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcColumnType > list; + IfcColumnType (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::IfcColumnTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcColumnType > list; }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -29162,24 +28045,18 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - /// Whether the optional attribute UsageName is defined for this IfcComplexPropertyTemplate - bool hasUsageName() const; - std::string UsageName() const; - void setUsageName(std::string v); - /// Whether the optional attribute TemplateType is defined for this IfcComplexPropertyTemplate - bool hasTemplateType() const; - ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value TemplateType() const; - void setTemplateType(::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value v); - /// Whether the optional attribute HasPropertyTemplates is defined for this IfcComplexPropertyTemplate - bool hasHasPropertyTemplates() const; + boost::optional< std::string > UsageName() const; + void setUsageName(boost::optional< std::string > v); + boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > TemplateType() const; + void setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v); /// Reference to a set of property templates. It should only be provided, if the PropertyType is set to COMPLEX. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr HasPropertyTemplates() const; - void setHasPropertyTemplates(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > HasPropertyTemplates() const; + void setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcComplexPropertyTemplate (IfcEntityInstanceData* e); - IfcComplexPropertyTemplate (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_UsageName, boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates); - typedef IfcTemplatedEntityList< IfcComplexPropertyTemplate > list; + IfcComplexPropertyTemplate (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_UsageName, boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates); + typedef aggregate_of< IfcComplexPropertyTemplate > list; }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -29250,16 +28127,16 @@ public: class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr Segments() const; - void setSegments(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr Segments() const; + void setSegments(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v); /// Indication of whether the curve intersects itself or not; this is for information only. - bool SelfIntersect() const; - void setSelfIntersect(bool v); + boost::logic::tribool SelfIntersect() const; + void setSelfIntersect(boost::logic::tribool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCompositeCurve (IfcEntityInstanceData* e); - IfcCompositeCurve (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect); - typedef IfcTemplatedEntityList< IfcCompositeCurve > list; + IfcCompositeCurve (aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect); + typedef aggregate_of< IfcCompositeCurve > list; }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -29277,8 +28154,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCompositeCurveOnSurface (IfcEntityInstanceData* e); - IfcCompositeCurveOnSurface (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect); - typedef IfcTemplatedEntityList< IfcCompositeCurveOnSurface > list; + IfcCompositeCurveOnSurface (aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect); + typedef aggregate_of< IfcCompositeCurveOnSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -29294,7 +28171,7 @@ public: static const IfcParse::entity& Class(); IfcConic (IfcEntityInstanceData* e); IfcConic (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position); - typedef IfcTemplatedEntityList< IfcConic > list; + typedef aggregate_of< IfcConic > list; }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -29317,8 +28194,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstructionEquipmentResourceType (IfcEntityInstanceData* e); - IfcConstructionEquipmentResourceType (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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); - typedef IfcTemplatedEntityList< IfcConstructionEquipmentResourceType > list; + IfcConstructionEquipmentResourceType (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::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + typedef aggregate_of< IfcConstructionEquipmentResourceType > list; }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -29341,8 +28218,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstructionMaterialResourceType (IfcEntityInstanceData* e); - IfcConstructionMaterialResourceType (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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); - typedef IfcTemplatedEntityList< IfcConstructionMaterialResourceType > list; + IfcConstructionMaterialResourceType (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::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + typedef aggregate_of< IfcConstructionMaterialResourceType > list; }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -29365,8 +28242,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstructionProductResourceType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); - typedef IfcTemplatedEntityList< IfcConstructionProductResourceType > list; + 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); + typedef aggregate_of< IfcConstructionProductResourceType > list; }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -29442,23 +28319,17 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - /// Whether the optional attribute Usage is defined for this IfcConstructionResource - bool hasUsage() const; ::Ifc4x3_rc4::IfcResourceTime* Usage() const; void setUsage(::Ifc4x3_rc4::IfcResourceTime* v); - /// Whether the optional attribute BaseCosts is defined for this IfcConstructionResource - bool hasBaseCosts() const; - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr BaseCosts() const; - void setBaseCosts(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr v); - /// Whether the optional attribute BaseQuantity is defined for this IfcConstructionResource - bool hasBaseQuantity() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > BaseCosts() const; + void setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v); ::Ifc4x3_rc4::IfcPhysicalQuantity* BaseQuantity() const; void setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstructionResource (IfcEntityInstanceData* e); - IfcConstructionResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity); - typedef IfcTemplatedEntityList< IfcConstructionResource > list; + IfcConstructionResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity); + typedef aggregate_of< IfcConstructionResource > list; }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -29472,33 +28343,31 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - /// Whether the optional attribute Identification is defined for this IfcControl - bool hasIdentification() const; /// An identifying designation given to a control /// It is the identifier at the occurrence level. /// /// IFC2x4 CHANGE Attribute unified by promoting from various subtypes of IfcControl. - std::string Identification() const; - void setIdentification(std::string v); - IfcTemplatedEntityList< IfcRelAssignsToControl >::ptr Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl + boost::optional< std::string > Identification() const; + void setIdentification(boost::optional< std::string > v); + aggregate_of< IfcRelAssignsToControl >::ptr Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcControl (IfcEntityInstanceData* e); IfcControl (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); - typedef IfcTemplatedEntityList< IfcControl > list; + typedef aggregate_of< IfcControl > list; }; class IFC_PARSE_API IfcCosine : public IfcSpiral { public: double CosineTerm() const; void setCosineTerm(double v); - double ConstantTerm() const; - void setConstantTerm(double v); + boost::optional< double > ConstantTerm() const; + void setConstantTerm(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCosine (IfcEntityInstanceData* e); - IfcCosine (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_CosineTerm, double v3_ConstantTerm); - typedef IfcTemplatedEntityList< IfcCosine > list; + IfcCosine (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm); + typedef aggregate_of< IfcCosine > list; }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -29538,15 +28407,11 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCostItem - bool hasPredefinedType() const; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been added. - ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCostItemTypeEnum::Value v); - /// Whether the optional attribute CostValues is defined for this IfcCostItem - bool hasCostValues() const; + boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > v); /// Component costs for which the total cost for the cost item is calculated, and then multiplied by the total CostQuantities if provided. /// /// If CostQuantities is provided then values indicate unit costs, otherwise values indicate total costs. @@ -29554,20 +28419,18 @@ public: /// For calculation purposes, the cost values may be directly added unless they have qualifications. Cost values with qualifications (e.g. IfcCostValue.ApplicableDate, IfcCostValue.FixedUntilDate) should be excluded from such calculation if they do not apply. /// /// IFC2x4 CHANGE The attribute has been added. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCostValue >::ptr CostValues() const; - void setCostValues(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCostValue >::ptr v); - /// Whether the optional attribute CostQuantities is defined for this IfcCostItem - bool hasCostQuantities() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > CostValues() const; + void setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > v); /// Component quantities of the same type for which the total quantity for the cost item is calculated as the sum. /// /// IFC2x4 CHANGE The attribute has been added. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr CostQuantities() const; - void setCostQuantities(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > CostQuantities() const; + void setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCostItem (IfcEntityInstanceData* e); - IfcCostItem (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::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v9_CostQuantities); - typedef IfcTemplatedEntityList< IfcCostItem > list; + IfcCostItem (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::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v9_CostQuantities); + typedef aggregate_of< IfcCostItem > list; }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -29594,15 +28457,11 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCostSchedule - bool hasPredefinedType() const; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// /// IFC2x4 CHANGE The attribute has been made optional. - ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value v); - /// Whether the optional attribute Status is defined for this IfcCostSchedule - bool hasStatus() const; + boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > v); /// The current status of a cost schedule. Examples of status values that might be used for a cost schedule status include: /// /// PLANNED @@ -29610,27 +28469,23 @@ public: /// AGREED /// ISSUED /// STARTED - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute SubmittedOn is defined for this IfcCostSchedule - bool hasSubmittedOn() const; + boost::optional< std::string > Status() const; + void setStatus(boost::optional< std::string > v); /// The date and time on which the cost schedule was submitted. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string SubmittedOn() const; - void setSubmittedOn(std::string v); - /// Whether the optional attribute UpdateDate is defined for this IfcCostSchedule - bool hasUpdateDate() const; + boost::optional< std::string > SubmittedOn() const; + void setSubmittedOn(boost::optional< std::string > v); /// The date and time that this cost schedule is updated; this allows tracking the schedule history. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string UpdateDate() const; - void setUpdateDate(std::string v); + boost::optional< std::string > UpdateDate() const; + void setUpdateDate(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCostSchedule (IfcEntityInstanceData* e); IfcCostSchedule (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::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate); - typedef IfcTemplatedEntityList< IfcCostSchedule > list; + typedef aggregate_of< IfcCostSchedule > list; }; class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { @@ -29640,8 +28495,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCourseType (IfcEntityInstanceData* e); - IfcCourseType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCourseTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCourseType > list; + IfcCourseType (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::IfcCourseTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCourseType > list; }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -29730,8 +28585,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCoveringType (IfcEntityInstanceData* e); - IfcCoveringType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCoveringType > list; + IfcCoveringType (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::IfcCoveringTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCoveringType > list; }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -29745,17 +28600,15 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCrewResource - bool hasPredefinedType() const; /// Defines types of crew resources. /// IFC2x4 New attribute - ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCrewResource (IfcEntityInstanceData* e); - IfcCrewResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); - typedef IfcTemplatedEntityList< IfcCrewResource > list; + IfcCrewResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + typedef aggregate_of< IfcCrewResource > list; }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -29786,8 +28639,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCurtainWallType (IfcEntityInstanceData* e); - IfcCurtainWallType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCurtainWallType > list; + IfcCurtainWallType (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::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCurtainWallType > list; }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -29852,7 +28705,7 @@ public: static const IfcParse::entity& Class(); IfcCylindricalSurface (IfcEntityInstanceData* e); IfcCylindricalSurface (::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius); - typedef IfcTemplatedEntityList< IfcCylindricalSurface > list; + typedef aggregate_of< IfcCylindricalSurface > list; }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { @@ -29860,8 +28713,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDeepFoundationType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcDeepFoundationType > list; + 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); + typedef aggregate_of< IfcDeepFoundationType > list; }; class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { @@ -29870,7 +28723,7 @@ public: static const IfcParse::entity& Class(); IfcDirectrixDerivedReferenceSweptAreaSolid (IfcEntityInstanceData* e); IfcDirectrixDerivedReferenceSweptAreaSolid (::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcCurve* v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc4::IfcDirection* v6_FixedReference); - typedef IfcTemplatedEntityList< IfcDirectrixDerivedReferenceSweptAreaSolid > list; + typedef aggregate_of< IfcDirectrixDerivedReferenceSweptAreaSolid > list; }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -29905,8 +28758,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionElementType (IfcEntityInstanceData* e); - IfcDistributionElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcDistributionElementType > list; + IfcDistributionElementType (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); + typedef aggregate_of< IfcDistributionElementType > list; }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -29978,8 +28831,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionFlowElementType (IfcEntityInstanceData* e); - IfcDistributionFlowElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcDistributionFlowElementType > list; + IfcDistributionFlowElementType (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); + typedef aggregate_of< IfcDistributionFlowElementType > list; }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -30078,82 +28931,56 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - /// Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties - bool hasLiningDepth() const; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - double LiningDepth() const; - void setLiningDepth(double v); - /// Whether the optional attribute LiningThickness is defined for this IfcDoorLiningProperties - bool hasLiningThickness() const; + boost::optional< double > LiningDepth() const; + void setLiningDepth(boost::optional< double > v); /// Thickness (width in plane parallel to door leaf) of the door lining. - double LiningThickness() const; - void setLiningThickness(double v); - /// Whether the optional attribute ThresholdDepth is defined for this IfcDoorLiningProperties - bool hasThresholdDepth() const; + boost::optional< double > LiningThickness() const; + void setLiningThickness(boost::optional< double > v); /// Depth (dimension in plane perpendicular to door leaf) of the door threshold. Only given if the door lining includes a threshold. If omitted (and with a given value to threshold thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - double ThresholdDepth() const; - void setThresholdDepth(double v); - /// Whether the optional attribute ThresholdThickness is defined for this IfcDoorLiningProperties - bool hasThresholdThickness() const; + boost::optional< double > ThresholdDepth() const; + void setThresholdDepth(boost::optional< double > v); /// Thickness (width in plane parallel to door leaf) of the door threshold. Only given if the door lining includes a threshold and the parameter is known. - double ThresholdThickness() const; - void setThresholdThickness(double v); - /// Whether the optional attribute TransomThickness is defined for this IfcDoorLiningProperties - bool hasTransomThickness() const; + boost::optional< double > ThresholdThickness() const; + void setThresholdThickness(boost::optional< double > v); /// Thickness (width in plane parallel to door leaf) of the transom (if given) which divides the door leaf from a glazing (or window) above. - double TransomThickness() const; - void setTransomThickness(double v); - /// Whether the optional attribute TransomOffset is defined for this IfcDoorLiningProperties - bool hasTransomOffset() const; + boost::optional< double > TransomThickness() const; + void setTransomThickness(boost::optional< double > v); /// Offset of the transom (if given) which divides the door leaf from a glazing (or window) above. The offset is given from the bottom of the door opening. - double TransomOffset() const; - void setTransomOffset(double v); - /// Whether the optional attribute LiningOffset is defined for this IfcDoorLiningProperties - bool hasLiningOffset() const; + boost::optional< double > TransomOffset() const; + void setTransomOffset(boost::optional< double > v); /// Offset (dimension in plane perpendicular to door leaf) of the door lining. The offset is given as distance to the x axis of the local placement. - double LiningOffset() const; - void setLiningOffset(double v); - /// Whether the optional attribute ThresholdOffset is defined for this IfcDoorLiningProperties - bool hasThresholdOffset() const; + boost::optional< double > LiningOffset() const; + void setLiningOffset(boost::optional< double > v); /// Offset (dimension in plane perpendicular to door leaf) of the door threshold. The offset is given as distance to the x axis of the local placement. Only given if the door lining includes a threshold and the parameter is known. - double ThresholdOffset() const; - void setThresholdOffset(double v); - /// Whether the optional attribute CasingThickness is defined for this IfcDoorLiningProperties - bool hasCasingThickness() const; + boost::optional< double > ThresholdOffset() const; + void setThresholdOffset(boost::optional< double > v); /// Thickness of the casing (dimension in plane of the door leaf). If given it is applied equally to all four sides of the adjacent wall. - double CasingThickness() const; - void setCasingThickness(double v); - /// Whether the optional attribute CasingDepth is defined for this IfcDoorLiningProperties - bool hasCasingDepth() const; + boost::optional< double > CasingThickness() const; + void setCasingThickness(boost::optional< double > v); /// Depth of the casing (dimension in plane perpendicular to door leaf). If given it is applied equally to all four sides of the adjacent wall. - double CasingDepth() const; - void setCasingDepth(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorLiningProperties - bool hasShapeAspectStyle() const; + boost::optional< double > CasingDepth() const; + void setCasingDepth(boost::optional< double > v); /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). ::Ifc4x3_rc4::IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v); - /// Whether the optional attribute LiningToPanelOffsetX is defined for this IfcDoorLiningProperties - bool hasLiningToPanelOffsetX() const; /// Offset between the lining and the window panel measured along the x-axis of the local placement. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningToPanelOffsetX() const; - void setLiningToPanelOffsetX(double v); - /// Whether the optional attribute LiningToPanelOffsetY is defined for this IfcDoorLiningProperties - bool hasLiningToPanelOffsetY() const; + boost::optional< double > LiningToPanelOffsetX() const; + void setLiningToPanelOffsetX(boost::optional< double > v); /// Offset between the lining and the door panel measured along the y-axis of the local placement. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningToPanelOffsetY() const; - void setLiningToPanelOffsetY(double v); + boost::optional< double > LiningToPanelOffsetY() const; + void setLiningToPanelOffsetY(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDoorLiningProperties (IfcEntityInstanceData* e); IfcDoorLiningProperties (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, ::Ifc4x3_rc4::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY); - typedef IfcTemplatedEntityList< IfcDoorLiningProperties > list; + typedef aggregate_of< IfcDoorLiningProperties > list; }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -30202,24 +29029,18 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties - bool hasPanelDepth() const; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. - double PanelDepth() const; - void setPanelDepth(double v); + boost::optional< double > PanelDepth() const; + void setPanelDepth(boost::optional< double > v); /// The PanelOperation defines the way of operation of that panel. The PanelOperation of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value PanelOperation() const; void setPanelOperation(::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value v); - /// Whether the optional attribute PanelWidth is defined for this IfcDoorPanelProperties - bool hasPanelWidth() const; /// Width of this panel, given as ratio relative to the total clear opening width of the door. If omited, it defaults to 1. A value has to be provided for all doors with OperationType's at IfcDoorStyle defining a door with more then one panel. - double PanelWidth() const; - void setPanelWidth(double v); + boost::optional< double > PanelWidth() const; + void setPanelWidth(boost::optional< double > v); /// Position of this panel within the door. The PanelPosition of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value PanelPosition() const; void setPanelPosition(::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorPanelProperties - bool hasShapeAspectStyle() const; /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door panel. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). @@ -30229,7 +29050,7 @@ public: static const IfcParse::entity& Class(); IfcDoorPanelProperties (IfcEntityInstanceData* e); IfcDoorPanelProperties (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc4::IfcShapeAspect* v9_ShapeAspectStyle); - typedef IfcTemplatedEntityList< IfcDoorPanelProperties > list; + typedef aggregate_of< IfcDoorPanelProperties > list; }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -30367,19 +29188,15 @@ public: /// Type defining the general layout and operation of the door type in terms of the partitioning of panels and panel operations. ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value OperationType() const; void setOperationType(::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v); - /// Whether the optional attribute ParameterTakesPrecedence is defined for this IfcDoorType - bool hasParameterTakesPrecedence() const; - bool ParameterTakesPrecedence() const; - void setParameterTakesPrecedence(bool v); - /// Whether the optional attribute UserDefinedOperationType is defined for this IfcDoorType - bool hasUserDefinedOperationType() const; - std::string UserDefinedOperationType() const; - void setUserDefinedOperationType(std::string v); + boost::optional< bool > ParameterTakesPrecedence() const; + void setParameterTakesPrecedence(boost::optional< bool > v); + boost::optional< std::string > UserDefinedOperationType() const; + void setUserDefinedOperationType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDoorType (IfcEntityInstanceData* e); - IfcDoorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType); - typedef IfcTemplatedEntityList< IfcDoorType > list; + IfcDoorType (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::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType); + typedef aggregate_of< IfcDoorType > list; }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -30459,7 +29276,7 @@ public: static const IfcParse::entity& Class(); IfcDraughtingPreDefinedColour (IfcEntityInstanceData* e); IfcDraughtingPreDefinedColour (std::string v1_Name); - typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedColour > list; + typedef aggregate_of< IfcDraughtingPreDefinedColour > list; }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -30480,7 +29297,7 @@ public: static const IfcParse::entity& Class(); IfcDraughtingPreDefinedCurveFont (IfcEntityInstanceData* e); IfcDraughtingPreDefinedCurveFont (std::string v1_Name); - typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont > list; + typedef aggregate_of< IfcDraughtingPreDefinedCurveFont > list; }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -30537,27 +29354,26 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - /// Whether the optional attribute Tag is defined for this IfcElement - bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - std::string Tag() const; - void setTag(std::string v); - IfcTemplatedEntityList< IfcRelFillsElement >::ptr FillsVoids() const; // INVERSE IfcRelFillsElement::RelatedBuildingElement - IfcTemplatedEntityList< IfcRelConnectsElements >::ptr ConnectedTo() const; // INVERSE IfcRelConnectsElements::RelatingElement - IfcTemplatedEntityList< IfcRelInterferesElements >::ptr IsInterferedByElements() const; // INVERSE IfcRelInterferesElements::RelatedElement - IfcTemplatedEntityList< IfcRelInterferesElements >::ptr InterferesElements() const; // INVERSE IfcRelInterferesElements::RelatingElement - IfcTemplatedEntityList< IfcRelProjectsElement >::ptr HasProjections() const; // INVERSE IfcRelProjectsElement::RelatingElement - IfcTemplatedEntityList< IfcRelVoidsElement >::ptr HasOpenings() const; // INVERSE IfcRelVoidsElement::RelatingBuildingElement - IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements >::ptr IsConnectionRealization() const; // INVERSE IfcRelConnectsWithRealizingElements::RealizingElements - IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr ProvidesBoundaries() const; // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement - IfcTemplatedEntityList< IfcRelConnectsElements >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsElements::RelatedElement - IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements - IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement + boost::optional< std::string > Tag() const; + void setTag(boost::optional< std::string > v); + aggregate_of< IfcRelFillsElement >::ptr FillsVoids() const; // INVERSE IfcRelFillsElement::RelatedBuildingElement + aggregate_of< IfcRelConnectsElements >::ptr ConnectedTo() const; // INVERSE IfcRelConnectsElements::RelatingElement + aggregate_of< IfcRelInterferesElements >::ptr IsInterferedByElements() const; // INVERSE IfcRelInterferesElements::RelatedElement + aggregate_of< IfcRelInterferesElements >::ptr InterferesElements() const; // INVERSE IfcRelInterferesElements::RelatingElement + aggregate_of< IfcRelProjectsElement >::ptr HasProjections() const; // INVERSE IfcRelProjectsElement::RelatingElement + aggregate_of< IfcRelVoidsElement >::ptr HasOpenings() const; // INVERSE IfcRelVoidsElement::RelatingBuildingElement + aggregate_of< IfcRelConnectsWithRealizingElements >::ptr IsConnectionRealization() const; // INVERSE IfcRelConnectsWithRealizingElements::RealizingElements + aggregate_of< IfcRelSpaceBoundary >::ptr ProvidesBoundaries() const; // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement + aggregate_of< IfcRelConnectsElements >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsElements::RelatedElement + aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + aggregate_of< IfcRelCoversBldgElements >::ptr HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement + aggregate_of< IfcRelAdheresToElement >::ptr HasSurfaceFeatures() const; // INVERSE IfcRelAdheresToElement::RelatingElement virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElement (IfcEntityInstanceData* e); IfcElement (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); - typedef IfcTemplatedEntityList< IfcElement > list; + typedef aggregate_of< IfcElement > list; }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -30655,23 +29471,19 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - /// Whether the optional attribute AssemblyPlace is defined for this IfcElementAssembly - bool hasAssemblyPlace() const; /// A designation of where the assembly is intended to take place defined by an Enum. - ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; - void setAssemblyPlace(::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v); - /// Whether the optional attribute PredefinedType is defined for this IfcElementAssembly - bool hasPredefinedType() const; + boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; + void setAssemblyPlace(boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > v); /// Predefined generic types for a element assembly that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. - ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElementAssembly (IfcEntityInstanceData* e); IfcElementAssembly (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::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcElementAssembly > list; + typedef aggregate_of< IfcElementAssembly > list; }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -30703,8 +29515,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElementAssemblyType (IfcEntityInstanceData* e); - IfcElementAssemblyType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcElementAssemblyType > list; + IfcElementAssemblyType (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::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcElementAssemblyType > list; }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -30789,7 +29601,7 @@ public: static const IfcParse::entity& Class(); IfcElementComponent (IfcEntityInstanceData* e); IfcElementComponent (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); - typedef IfcTemplatedEntityList< IfcElementComponent > list; + typedef aggregate_of< IfcElementComponent > list; }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -30805,8 +29617,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElementComponentType (IfcEntityInstanceData* e); - IfcElementComponentType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcElementComponentType > list; + IfcElementComponentType (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); + typedef aggregate_of< IfcElementComponentType > list; }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -30847,7 +29659,7 @@ public: static const IfcParse::entity& Class(); IfcEllipse (IfcEntityInstanceData* e); IfcEllipse (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); - typedef IfcTemplatedEntityList< IfcEllipse > list; + typedef aggregate_of< IfcEllipse > list; }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -30877,8 +29689,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEnergyConversionDeviceType (IfcEntityInstanceData* e); - IfcEnergyConversionDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcEnergyConversionDeviceType > list; + IfcEnergyConversionDeviceType (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); + typedef aggregate_of< IfcEnergyConversionDeviceType > list; }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -30913,8 +29725,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEngineType (IfcEntityInstanceData* e); - IfcEngineType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEngineTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcEngineType > list; + IfcEngineType (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::IfcEngineTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcEngineType > list; }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -30950,8 +29762,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEvaporativeCoolerType (IfcEntityInstanceData* e); - IfcEvaporativeCoolerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcEvaporativeCoolerType > list; + IfcEvaporativeCoolerType (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::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcEvaporativeCoolerType > list; }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -30987,8 +29799,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEvaporatorType (IfcEntityInstanceData* e); - IfcEvaporatorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcEvaporatorType > list; + IfcEvaporatorType (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::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcEvaporatorType > list; }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -31069,27 +29881,19 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEvent - bool hasPredefinedType() const; /// Identifies the predefined types of an event from which /// the type required may be set. - ::Ifc4x3_rc4::IfcEventTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcEventTypeEnum::Value v); - /// Whether the optional attribute EventTriggerType is defined for this IfcEvent - bool hasEventTriggerType() const; + boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v); /// Identifies the predefined types of event trigger from which /// the type required may be set. - ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value EventTriggerType() const; - void setEventTriggerType(::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v); - /// Whether the optional attribute UserDefinedEventTriggerType is defined for this IfcEvent - bool hasUserDefinedEventTriggerType() const; + boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > EventTriggerType() const; + void setEventTriggerType(boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v); /// A user defined event trigger type, the value of which is /// asserted when the value of an event trigger type is declared /// as USERDEFINED. - std::string UserDefinedEventTriggerType() const; - void setUserDefinedEventTriggerType(std::string v); - /// Whether the optional attribute EventOccurenceTime is defined for this IfcEvent - bool hasEventOccurenceTime() const; + boost::optional< std::string > UserDefinedEventTriggerType() const; + void setUserDefinedEventTriggerType(boost::optional< std::string > v); /// The date and/or time at which an event occurs. ::Ifc4x3_rc4::IfcEventTime* EventOccurenceTime() const; void setEventOccurenceTime(::Ifc4x3_rc4::IfcEventTime* v); @@ -31097,7 +29901,7 @@ public: static const IfcParse::entity& Class(); IfcEvent (IfcEntityInstanceData* e); IfcEvent (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, boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc4::IfcEventTime* v11_EventOccurenceTime); - typedef IfcTemplatedEntityList< IfcEvent > list; + typedef aggregate_of< IfcEvent > list; }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -31110,7 +29914,7 @@ public: static const IfcParse::entity& Class(); IfcExternalSpatialStructureElement (IfcEntityInstanceData* e); IfcExternalSpatialStructureElement (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); - typedef IfcTemplatedEntityList< IfcExternalSpatialStructureElement > list; + typedef aggregate_of< IfcExternalSpatialStructureElement > list; }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -31142,7 +29946,7 @@ public: static const IfcParse::entity& Class(); IfcFacetedBrep (IfcEntityInstanceData* e); IfcFacetedBrep (::Ifc4x3_rc4::IfcClosedShell* v1_Outer); - typedef IfcTemplatedEntityList< IfcFacetedBrep > list; + typedef aggregate_of< IfcFacetedBrep > list; }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -31171,13 +29975,13 @@ public: class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr Voids() const; - void setVoids(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Voids() const; + void setVoids(aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFacetedBrepWithVoids (IfcEntityInstanceData* e); - IfcFacetedBrepWithVoids (::Ifc4x3_rc4::IfcClosedShell* v1_Outer, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids); - typedef IfcTemplatedEntityList< IfcFacetedBrepWithVoids > list; + IfcFacetedBrepWithVoids (::Ifc4x3_rc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids); + typedef aggregate_of< IfcFacetedBrepWithVoids > list; }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { @@ -31186,7 +29990,7 @@ public: static const IfcParse::entity& Class(); IfcFacility (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcFacility > list; + typedef aggregate_of< IfcFacility > list; }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { @@ -31199,7 +30003,7 @@ public: static const IfcParse::entity& Class(); IfcFacilityPart (IfcEntityInstanceData* e); IfcFacilityPart (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, ::Ifc4x3_rc4::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value v11_UsageType); - typedef IfcTemplatedEntityList< IfcFacilityPart > list; + typedef aggregate_of< IfcFacilityPart > list; }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -31211,16 +30015,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFastener - bool hasPredefinedType() const; /// Subtype of fastener - ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFastener (IfcEntityInstanceData* e); IfcFastener (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::IfcFastenerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcFastener > list; + typedef aggregate_of< IfcFastener > list; }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -31253,8 +30055,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFastenerType (IfcEntityInstanceData* e); - IfcFastenerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcFastenerType > list; + IfcFastenerType (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::IfcFastenerTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcFastenerType > list; }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -31356,7 +30158,7 @@ public: static const IfcParse::entity& Class(); IfcFeatureElement (IfcEntityInstanceData* e); IfcFeatureElement (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); - typedef IfcTemplatedEntityList< IfcFeatureElement > list; + typedef aggregate_of< IfcFeatureElement > list; }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -31415,12 +30217,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcTemplatedEntityList< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement + aggregate_of< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFeatureElementAddition (IfcEntityInstanceData* e); IfcFeatureElementAddition (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); - typedef IfcTemplatedEntityList< IfcFeatureElementAddition > list; + typedef aggregate_of< IfcFeatureElementAddition > list; }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -31474,12 +30276,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcTemplatedEntityList< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement + aggregate_of< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFeatureElementSubtraction (IfcEntityInstanceData* e); IfcFeatureElementSubtraction (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); - typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction > list; + typedef aggregate_of< IfcFeatureElementSubtraction > list; }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -31508,8 +30310,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowControllerType (IfcEntityInstanceData* e); - IfcFlowControllerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcFlowControllerType > list; + IfcFlowControllerType (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); + typedef aggregate_of< IfcFlowControllerType > list; }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -31539,8 +30341,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowFittingType (IfcEntityInstanceData* e); - IfcFlowFittingType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcFlowFittingType > list; + IfcFlowFittingType (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); + typedef aggregate_of< IfcFlowFittingType > list; }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -31582,8 +30384,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowMeterType (IfcEntityInstanceData* e); - IfcFlowMeterType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcFlowMeterType > list; + IfcFlowMeterType (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::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcFlowMeterType > list; }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -31612,8 +30414,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowMovingDeviceType (IfcEntityInstanceData* e); - IfcFlowMovingDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcFlowMovingDeviceType > list; + IfcFlowMovingDeviceType (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); + typedef aggregate_of< IfcFlowMovingDeviceType > list; }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -31651,8 +30453,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowSegmentType (IfcEntityInstanceData* e); - IfcFlowSegmentType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcFlowSegmentType > list; + IfcFlowSegmentType (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); + typedef aggregate_of< IfcFlowSegmentType > list; }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -31666,8 +30468,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowStorageDeviceType (IfcEntityInstanceData* e); - IfcFlowStorageDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcFlowStorageDeviceType > list; + IfcFlowStorageDeviceType (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); + typedef aggregate_of< IfcFlowStorageDeviceType > list; }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -31681,8 +30483,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowTerminalType (IfcEntityInstanceData* e); - IfcFlowTerminalType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcFlowTerminalType > list; + IfcFlowTerminalType (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); + typedef aggregate_of< IfcFlowTerminalType > list; }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -31697,8 +30499,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowTreatmentDeviceType (IfcEntityInstanceData* e); - IfcFlowTreatmentDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcFlowTreatmentDeviceType > list; + IfcFlowTreatmentDeviceType (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); + typedef aggregate_of< IfcFlowTreatmentDeviceType > list; }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -31717,8 +30519,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFootingType (IfcEntityInstanceData* e); - IfcFootingType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFootingTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcFootingType > list; + IfcFootingType (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::IfcFootingTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcFootingType > list; }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -31830,7 +30632,7 @@ public: static const IfcParse::entity& Class(); IfcFurnishingElement (IfcEntityInstanceData* e); IfcFurnishingElement (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); - typedef IfcTemplatedEntityList< IfcFurnishingElement > list; + typedef aggregate_of< IfcFurnishingElement > list; }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -31865,15 +30667,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFurniture - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFurniture (IfcEntityInstanceData* e); IfcFurniture (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::IfcFurnitureTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcFurniture > list; + typedef aggregate_of< IfcFurniture > list; }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -32017,16 +30817,14 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcGeographicElement - bool hasPredefinedType() const; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. - ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeographicElement (IfcEntityInstanceData* e); IfcGeographicElement (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::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcGeographicElement > list; + typedef aggregate_of< IfcGeographicElement > list; }; class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { @@ -32035,7 +30833,7 @@ public: static const IfcParse::entity& Class(); IfcGeotechnicalElement (IfcEntityInstanceData* e); IfcGeotechnicalElement (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); - typedef IfcTemplatedEntityList< IfcGeotechnicalElement > list; + typedef aggregate_of< IfcGeotechnicalElement > list; }; class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { @@ -32044,22 +30842,20 @@ public: static const IfcParse::entity& Class(); IfcGeotechnicalStratum (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcGeotechnicalStratum > list; + typedef aggregate_of< IfcGeotechnicalStratum > list; }; class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { public: ::Ifc4x3_rc4::IfcBoundedCurve* BaseCurve() const; void setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v); - /// Whether the optional attribute EndPoint is defined for this IfcGradientCurve - bool hasEndPoint() const; ::Ifc4x3_rc4::IfcPlacement* EndPoint() const; void setEndPoint(::Ifc4x3_rc4::IfcPlacement* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGradientCurve (IfcEntityInstanceData* e); - IfcGradientCurve (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement* v4_EndPoint); - typedef IfcTemplatedEntityList< IfcGradientCurve > list; + IfcGradientCurve (aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement* v4_EndPoint); + typedef aggregate_of< IfcGradientCurve > list; }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -32093,12 +30889,12 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcTemplatedEntityList< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup + aggregate_of< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGroup (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcGroup > list; + typedef aggregate_of< IfcGroup > list; }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -32137,8 +30933,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcHeatExchangerType (IfcEntityInstanceData* e); - IfcHeatExchangerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcHeatExchangerType > list; + IfcHeatExchangerType (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::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcHeatExchangerType > list; }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -32174,21 +30970,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcHumidifierType (IfcEntityInstanceData* e); - IfcHumidifierType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcHumidifierType > list; + IfcHumidifierType (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::IfcHumidifierTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcHumidifierType > list; }; class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcImpactProtectionDevice - bool hasPredefinedType() const; ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcImpactProtectionDevice (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcImpactProtectionDevice > list; + typedef aggregate_of< IfcImpactProtectionDevice > list; }; class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { @@ -32198,27 +30992,23 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcImpactProtectionDeviceType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcImpactProtectionDeviceType > list; + 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); + typedef aggregate_of< IfcImpactProtectionDeviceType > list; }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3_rc4::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3_rc4::IfcCartesianPointList* v); - /// Whether the optional attribute Segments is defined for this IfcIndexedPolyCurve - bool hasSegments() const; - IfcEntityList::ptr Segments() const; - void setSegments(IfcEntityList::ptr v); - /// Whether the optional attribute SelfIntersect is defined for this IfcIndexedPolyCurve - bool hasSelfIntersect() const; - bool SelfIntersect() const; - void setSelfIntersect(bool v); + boost::optional< aggregate_of_instance::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< bool > SelfIntersect() const; + void setSelfIntersect(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< IfcEntityList::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); - typedef IfcTemplatedEntityList< IfcIndexedPolyCurve > list; + IfcIndexedPolyCurve (::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -32260,8 +31050,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcInterceptorType (IfcEntityInstanceData* e); - IfcInterceptorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcInterceptorType > list; + IfcInterceptorType (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::IfcInterceptorTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcInterceptorType > list; }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { @@ -32269,8 +31059,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIntersectionCurve (IfcEntityInstanceData* e); - IfcIntersectionCurve (::Ifc4x3_rc4::IfcCurve* v1_Curve3D, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); - typedef IfcTemplatedEntityList< IfcIntersectionCurve > list; + IfcIntersectionCurve (::Ifc4x3_rc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + typedef aggregate_of< IfcIntersectionCurve > list; }; /// An inventory is a list of items within an enterprise. /// @@ -32285,45 +31075,33 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - /// Whether the optional attribute PredefinedType is defined for this IfcInventory - bool hasPredefinedType() const; /// A list of the types of inventories from which that required may be selected. /// /// IFC2x4 CHANGE Attribute made optional. - ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcInventoryTypeEnum::Value v); - /// Whether the optional attribute Jurisdiction is defined for this IfcInventory - bool hasJurisdiction() const; + boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v); /// The organizational unit to which the inventory is applicable. ::Ifc4x3_rc4::IfcActorSelect* Jurisdiction() const; void setJurisdiction(::Ifc4x3_rc4::IfcActorSelect* v); - /// Whether the optional attribute ResponsiblePersons is defined for this IfcInventory - bool hasResponsiblePersons() const; /// Persons who are responsible for the inventory. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr ResponsiblePersons() const; - void setResponsiblePersons(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr v); - /// Whether the optional attribute LastUpdateDate is defined for this IfcInventory - bool hasLastUpdateDate() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > ResponsiblePersons() const; + void setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v); /// The date on which the last update of the inventory was carried out. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string LastUpdateDate() const; - void setLastUpdateDate(std::string v); - /// Whether the optional attribute CurrentValue is defined for this IfcInventory - bool hasCurrentValue() const; + boost::optional< std::string > LastUpdateDate() const; + void setLastUpdateDate(boost::optional< std::string > v); /// An estimate of the current cost value of the inventory. ::Ifc4x3_rc4::IfcCostValue* CurrentValue() const; void setCurrentValue(::Ifc4x3_rc4::IfcCostValue* v); - /// Whether the optional attribute OriginalValue is defined for this IfcInventory - bool hasOriginalValue() const; /// An estimate of the original cost value of the inventory. ::Ifc4x3_rc4::IfcCostValue* OriginalValue() const; void setOriginalValue(::Ifc4x3_rc4::IfcCostValue* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcInventory (IfcEntityInstanceData* e); - IfcInventory (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< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc4::IfcActorSelect* v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc4::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc4::IfcCostValue* v11_OriginalValue); - typedef IfcTemplatedEntityList< IfcInventory > list; + IfcInventory (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< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc4::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc4::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc4::IfcCostValue* v11_OriginalValue); + typedef aggregate_of< IfcInventory > list; }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -32360,8 +31138,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcJunctionBoxType (IfcEntityInstanceData* e); - IfcJunctionBoxType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcJunctionBoxType > list; + IfcJunctionBoxType (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::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcJunctionBoxType > list; }; class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { @@ -32371,8 +31149,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcKerbType (IfcEntityInstanceData* e); - IfcKerbType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable); - typedef IfcTemplatedEntityList< IfcKerbType > list; + IfcKerbType (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, bool v10_Mountable); + typedef aggregate_of< IfcKerbType > list; }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -32400,17 +31178,15 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcLaborResource - bool hasPredefinedType() const; /// Defines types of labor resources. /// IFC2x4 New attribute - ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLaborResource (IfcEntityInstanceData* e); - IfcLaborResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); - typedef IfcTemplatedEntityList< IfcLaborResource > list; + IfcLaborResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + typedef aggregate_of< IfcLaborResource > list; }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -32449,8 +31225,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLampType (IfcEntityInstanceData* e); - IfcLampType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLampTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcLampType > list; + IfcLampType (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::IfcLampTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcLampType > list; }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -32491,8 +31267,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLightFixtureType (IfcEntityInstanceData* e); - IfcLightFixtureType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcLightFixtureType > list; + IfcLightFixtureType (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::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcLightFixtureType > list; }; class IFC_PARSE_API IfcLinearElement : public IfcProduct { @@ -32501,7 +31277,7 @@ public: static const IfcParse::entity& Class(); IfcLinearElement (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcLinearElement > list; + typedef aggregate_of< IfcLinearElement > list; }; class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { @@ -32511,21 +31287,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLiquidTerminalType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcLiquidTerminalType > list; + 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); + typedef aggregate_of< IfcLiquidTerminalType > list; }; class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: - /// Whether the optional attribute PredefinedType is defined for this IfcMarineFacility - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMarineFacility (IfcEntityInstanceData* e); IfcMarineFacility (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, boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcMarineFacility > list; + typedef aggregate_of< IfcMarineFacility > list; }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -32558,24 +31332,18 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener - bool hasNominalDiameter() const; - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastener - bool hasNominalLength() const; - double NominalLength() const; - void setNominalLength(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcMechanicalFastener - bool hasPredefinedType() const; + boost::optional< double > NominalDiameter() const; + void setNominalDiameter(boost::optional< double > v); + boost::optional< double > NominalLength() const; + void setNominalLength(boost::optional< double > v); /// Subtype of mechanical fastener - ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMechanicalFastener (IfcEntityInstanceData* e); IfcMechanicalFastener (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< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); - typedef IfcTemplatedEntityList< IfcMechanicalFastener > list; + typedef aggregate_of< IfcMechanicalFastener > list; }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -32617,21 +31385,17 @@ public: /// Subtype of mechanical fastener ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v); - /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastenerType - bool hasNominalDiameter() const; /// The nominal diameter describing the cross-section size of the fastener type. - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastenerType - bool hasNominalLength() const; + boost::optional< double > NominalDiameter() const; + void setNominalDiameter(boost::optional< double > v); /// The nominal length describing the longitudinal dimensions of the fastener type. - double NominalLength() const; - void setNominalLength(double v); + boost::optional< double > NominalLength() const; + void setNominalLength(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMechanicalFastenerType (IfcEntityInstanceData* e); - IfcMechanicalFastenerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength); - typedef IfcTemplatedEntityList< IfcMechanicalFastenerType > list; + IfcMechanicalFastenerType (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::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength); + typedef aggregate_of< IfcMechanicalFastenerType > list; }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -32666,8 +31430,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMedicalDeviceType (IfcEntityInstanceData* e); - IfcMedicalDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcMedicalDeviceType > list; + IfcMedicalDeviceType (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::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcMedicalDeviceType > list; }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -32778,8 +31542,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMemberType (IfcEntityInstanceData* e); - IfcMemberType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMemberTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcMemberType > list; + IfcMemberType (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::IfcMemberTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcMemberType > list; }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { @@ -32789,8 +31553,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMobileTelecommunicationsApplianceType (IfcEntityInstanceData* e); - IfcMobileTelecommunicationsApplianceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcMobileTelecommunicationsApplianceType > list; + IfcMobileTelecommunicationsApplianceType (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::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcMobileTelecommunicationsApplianceType > list; }; class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { @@ -32800,8 +31564,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMooringDeviceType (IfcEntityInstanceData* e); - IfcMooringDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcMooringDeviceType > list; + IfcMooringDeviceType (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::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcMooringDeviceType > list; }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -32838,8 +31602,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMotorConnectionType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcMotorConnectionType > list; + 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); + typedef aggregate_of< IfcMotorConnectionType > list; }; class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { @@ -32849,8 +31613,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcNavigationElementType (IfcEntityInstanceData* e); - IfcNavigationElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcNavigationElementType > list; + IfcNavigationElementType (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::IfcNavigationElementTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcNavigationElementType > list; }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -32861,18 +31625,16 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - /// Whether the optional attribute PredefinedType is defined for this IfcOccupant - bool hasPredefinedType() const; /// Predefined occupant types from which that required may be set. /// /// IFC2x4 CHANGE Attribute made optional. - ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcOccupantTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOccupant (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcOccupant > list; + typedef aggregate_of< IfcOccupant > list; }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -33078,19 +31840,17 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - /// Whether the optional attribute PredefinedType is defined for this IfcOpeningElement - bool hasPredefinedType() const; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value v); - IfcTemplatedEntityList< IfcRelFillsElement >::ptr HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement + boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v); + aggregate_of< IfcRelFillsElement >::ptr HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOpeningElement (IfcEntityInstanceData* e); IfcOpeningElement (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::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcOpeningElement > list; + typedef aggregate_of< IfcOpeningElement > list; }; /// The standard opening, /// IfcOpeningStandardCase, defines an opening with certain @@ -33191,7 +31951,7 @@ public: static const IfcParse::entity& Class(); IfcOpeningStandardCase (IfcEntityInstanceData* e); IfcOpeningStandardCase (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::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcOpeningStandardCase > list; + typedef aggregate_of< IfcOpeningStandardCase > list; }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -33230,8 +31990,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOutletType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcOutletTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcOutletType > list; + 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); + typedef aggregate_of< IfcOutletType > list; }; class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { @@ -33241,8 +32001,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPavementType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPavementTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcPavementType > list; + 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); + typedef aggregate_of< IfcPavementType > list; }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -33254,18 +32014,16 @@ public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; void setLifeCyclePhase(std::string v); - /// Whether the optional attribute PredefinedType is defined for this IfcPerformanceHistory - bool hasPredefinedType() const; /// Predefined generic type for a performace history that is specified in an enumeration. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPerformanceHistory (IfcEntityInstanceData* e); IfcPerformanceHistory (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_LifeCyclePhase, boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); - typedef IfcTemplatedEntityList< IfcPerformanceHistory > list; + typedef aggregate_of< IfcPerformanceHistory > list; }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -33306,18 +32064,12 @@ public: /// Position of this permeable covering panel within the overall window or door type. ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value PanelPosition() const; void setPanelPosition(::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v); - /// Whether the optional attribute FrameDepth is defined for this IfcPermeableCoveringProperties - bool hasFrameDepth() const; /// Depth of panel frame (used to include the permeable covering), measured from front face to back face horizontally (i.e. perpendicular to the window or door (elevation) plane. - double FrameDepth() const; - void setFrameDepth(double v); - /// Whether the optional attribute FrameThickness is defined for this IfcPermeableCoveringProperties - bool hasFrameThickness() const; + boost::optional< double > FrameDepth() const; + void setFrameDepth(boost::optional< double > v); /// Width of panel frame (used to include the permeable covering), measured from inside of panel (at permeable covering) to outside of panel (at lining), i.e. parallel to the window or door (elevation) plane. - double FrameThickness() const; - void setFrameThickness(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcPermeableCoveringProperties - bool hasShapeAspectStyle() const; + boost::optional< double > FrameThickness() const; + void setFrameThickness(boost::optional< double > v); /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the permeable covering. ::Ifc4x3_rc4::IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v); @@ -33325,7 +32077,7 @@ public: static const IfcParse::entity& Class(); IfcPermeableCoveringProperties (IfcEntityInstanceData* e); IfcPermeableCoveringProperties (std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect* v9_ShapeAspectStyle); - typedef IfcTemplatedEntityList< IfcPermeableCoveringProperties > list; + typedef aggregate_of< IfcPermeableCoveringProperties > list; }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -33366,32 +32118,26 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPermit - bool hasPredefinedType() const; /// Identifies the predefined types of permit that can be granted. /// /// IFC2x4 CHANGE The attribute has been added. - ::Ifc4x3_rc4::IfcPermitTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcPermitTypeEnum::Value v); - /// Whether the optional attribute Status is defined for this IfcPermit - bool hasStatus() const; + boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > v); /// The status currently assigned to the permit. /// /// IFC2x4 CHANGE The attribute has been added. - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcPermit - bool hasLongDescription() const; + boost::optional< std::string > Status() const; + void setStatus(boost::optional< std::string > v); /// Detailed description of the request. /// /// IFC2x4 CHANGE The attribute has been added. - std::string LongDescription() const; - void setLongDescription(std::string v); + boost::optional< std::string > LongDescription() const; + void setLongDescription(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPermit (IfcEntityInstanceData* e); IfcPermit (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::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); - typedef IfcTemplatedEntityList< IfcPermit > list; + typedef aggregate_of< IfcPermit > list; }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -33408,8 +32154,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPileType (IfcEntityInstanceData* e); - IfcPileType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPileTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcPileType > list; + IfcPileType (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::IfcPileTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcPileType > list; }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -33448,8 +32194,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPipeFittingType (IfcEntityInstanceData* e); - IfcPipeFittingType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcPipeFittingType > list; + IfcPipeFittingType (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::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcPipeFittingType > list; }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -33492,8 +32238,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPipeSegmentType (IfcEntityInstanceData* e); - IfcPipeSegmentType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcPipeSegmentType > list; + IfcPipeSegmentType (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::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcPipeSegmentType > list; }; class IFC_PARSE_API IfcPlant : public IfcGeographicElement { @@ -33502,7 +32248,7 @@ public: static const IfcParse::entity& Class(); IfcPlant (IfcEntityInstanceData* e); IfcPlant (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::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcPlant > list; + typedef aggregate_of< IfcPlant > list; }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -33589,27 +32335,23 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPlateType (IfcEntityInstanceData* e); - IfcPlateType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPlateTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcPlateType > list; + IfcPlateType (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::IfcPlateTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcPlateType > list; }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - /// Whether the optional attribute Closed is defined for this IfcPolygonalFaceSet - bool hasClosed() const; - bool Closed() const; - void setClosed(bool v); - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr Faces() const; - void setFaces(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v); - /// Whether the optional attribute PnIndex is defined for this IfcPolygonalFaceSet - bool hasPnIndex() const; - std::vector< int > /*[1:?]*/ PnIndex() const; - void setPnIndex(std::vector< int > /*[1:?]*/ v); + boost::optional< bool > Closed() const; + void setClosed(boost::optional< bool > v); + aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr Faces() const; + void setFaces(aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v); + boost::optional< std::vector< int > /*[1:?]*/ > PnIndex() const; + void setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPolygonalFaceSet (IfcEntityInstanceData* e); - IfcPolygonalFaceSet (::Ifc4x3_rc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); - typedef IfcTemplatedEntityList< IfcPolygonalFaceSet > list; + IfcPolygonalFaceSet (::Ifc4x3_rc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + typedef aggregate_of< IfcPolygonalFaceSet > list; }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -33628,13 +32370,13 @@ public: class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Points() const; - void setPoints(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Points() const; + void setPoints(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPolyline (IfcEntityInstanceData* e); - IfcPolyline (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Points); - typedef IfcTemplatedEntityList< IfcPolyline > list; + IfcPolyline (aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Points); + typedef aggregate_of< IfcPolyline > list; }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -33691,25 +32433,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcTemplatedEntityList< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort - IfcTemplatedEntityList< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort - IfcTemplatedEntityList< IfcRelConnectsPorts >::ptr ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort + aggregate_of< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort + aggregate_of< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort + aggregate_of< IfcRelConnectsPorts >::ptr ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPort (IfcEntityInstanceData* e); IfcPort (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); - typedef IfcTemplatedEntityList< IfcPort > list; + typedef aggregate_of< IfcPort > list; }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements - IfcTemplatedEntityList< IfcRelPositions >::ptr Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement + aggregate_of< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + aggregate_of< IfcRelPositions >::ptr Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPositioningElement (IfcEntityInstanceData* e); IfcPositioningElement (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); - typedef IfcTemplatedEntityList< IfcPositioningElement > list; + typedef aggregate_of< IfcPositioningElement > list; }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -33817,17 +32559,15 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProcedure - bool hasPredefinedType() const; /// Identifies the predefined types of a procedure from which /// the type required may be set. - ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProcedure (IfcEntityInstanceData* e); IfcProcedure (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, boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v8_PredefinedType); - typedef IfcTemplatedEntityList< IfcProcedure > list; + typedef aggregate_of< IfcProcedure > list; }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -33874,15 +32614,11 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProjectOrder - bool hasPredefinedType() const; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been made optional. - ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value v); - /// Whether the optional attribute Status is defined for this IfcProjectOrder - bool hasStatus() const; + boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > v); /// The current status of a project order.Examples of status values that might be used for a project order status include: /// /// PLANNED @@ -33892,18 +32628,16 @@ public: /// STARTED /// DELAYED /// DONE - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcProjectOrder - bool hasLongDescription() const; + boost::optional< std::string > Status() const; + void setStatus(boost::optional< std::string > v); /// A detailed description of the project order describing the work to be completed. - std::string LongDescription() const; - void setLongDescription(std::string v); + boost::optional< std::string > LongDescription() const; + void setLongDescription(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProjectOrder (IfcEntityInstanceData* e); IfcProjectOrder (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::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); - typedef IfcTemplatedEntityList< IfcProjectOrder > list; + typedef aggregate_of< IfcProjectOrder > list; }; /// The projection element is a /// specialization of the general feature element to represent @@ -34014,18 +32748,16 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProjectionElement - bool hasPredefinedType() const; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProjectionElement (IfcEntityInstanceData* e); IfcProjectionElement (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::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcProjectionElement > list; + typedef aggregate_of< IfcProjectionElement > list; }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -34070,8 +32802,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProtectiveDeviceType (IfcEntityInstanceData* e); - IfcProtectiveDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcProtectiveDeviceType > list; + IfcProtectiveDeviceType (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::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcProtectiveDeviceType > list; }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -34109,8 +32841,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPumpType (IfcEntityInstanceData* e); - IfcPumpType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPumpTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcPumpType > list; + IfcPumpType (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::IfcPumpTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcPumpType > list; }; class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { @@ -34120,8 +32852,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRailType (IfcEntityInstanceData* e); - IfcRailType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcRailType > list; + IfcRailType (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::IfcRailTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcRailType > list; }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -34151,21 +32883,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRailingType (IfcEntityInstanceData* e); - IfcRailingType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailingTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcRailingType > list; + IfcRailingType (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::IfcRailingTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcRailingType > list; }; class IFC_PARSE_API IfcRailway : public IfcFacility { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRailway - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcRailwayTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRailway (IfcEntityInstanceData* e); IfcRailway (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, boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcRailway > list; + typedef aggregate_of< IfcRailway > list; }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -34195,8 +32925,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRampFlightType (IfcEntityInstanceData* e); - IfcRampFlightType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcRampFlightType > list; + IfcRampFlightType (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::IfcRampFlightTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcRampFlightType > list; }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -34239,8 +32969,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRampType (IfcEntityInstanceData* e); - IfcRampType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcRampType > list; + IfcRampType (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::IfcRampTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcRampType > list; }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -34263,25 +32993,21 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRationalBSplineSurfaceWithKnots (IfcEntityInstanceData* e); - IfcRationalBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); - typedef IfcTemplatedEntityList< IfcRationalBSplineSurfaceWithKnots > list; + IfcRationalBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + typedef aggregate_of< IfcRationalBSplineSurfaceWithKnots > list; }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcReferent - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcReferentTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcReferentTypeEnum::Value v); - /// Whether the optional attribute RestartDistance is defined for this IfcReferent - bool hasRestartDistance() const; - double RestartDistance() const; - void setRestartDistance(double v); + boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v); + boost::optional< double > RestartDistance() const; + void setRestartDistance(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReferent (IfcEntityInstanceData* e); IfcReferent (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::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance); - typedef IfcTemplatedEntityList< IfcReferent > list; + typedef aggregate_of< IfcReferent > list; }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -34293,15 +33019,13 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - /// Whether the optional attribute SteelGrade is defined for this IfcReinforcingElement - bool hasSteelGrade() const; - std::string SteelGrade() const; - void setSteelGrade(std::string v); + boost::optional< std::string > SteelGrade() const; + void setSteelGrade(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingElement (IfcEntityInstanceData* e); IfcReinforcingElement (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< std::string > v9_SteelGrade); - typedef IfcTemplatedEntityList< IfcReinforcingElement > list; + typedef aggregate_of< IfcReinforcingElement > list; }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -34311,8 +33035,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingElementType (IfcEntityInstanceData* e); - IfcReinforcingElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcReinforcingElementType > list; + IfcReinforcingElementType (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); + typedef aggregate_of< IfcReinforcingElementType > list; }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -34340,48 +33064,30 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMesh - bool hasMeshLength() const; - double MeshLength() const; - void setMeshLength(double v); - /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMesh - bool hasMeshWidth() const; - double MeshWidth() const; - void setMeshWidth(double v); - /// Whether the optional attribute LongitudinalBarNominalDiameter is defined for this IfcReinforcingMesh - bool hasLongitudinalBarNominalDiameter() const; - double LongitudinalBarNominalDiameter() const; - void setLongitudinalBarNominalDiameter(double v); - /// Whether the optional attribute TransverseBarNominalDiameter is defined for this IfcReinforcingMesh - bool hasTransverseBarNominalDiameter() const; - double TransverseBarNominalDiameter() const; - void setTransverseBarNominalDiameter(double v); - /// Whether the optional attribute LongitudinalBarCrossSectionArea is defined for this IfcReinforcingMesh - bool hasLongitudinalBarCrossSectionArea() const; - double LongitudinalBarCrossSectionArea() const; - void setLongitudinalBarCrossSectionArea(double v); - /// Whether the optional attribute TransverseBarCrossSectionArea is defined for this IfcReinforcingMesh - bool hasTransverseBarCrossSectionArea() const; - double TransverseBarCrossSectionArea() const; - void setTransverseBarCrossSectionArea(double v); - /// Whether the optional attribute LongitudinalBarSpacing is defined for this IfcReinforcingMesh - bool hasLongitudinalBarSpacing() const; - double LongitudinalBarSpacing() const; - void setLongitudinalBarSpacing(double v); - /// Whether the optional attribute TransverseBarSpacing is defined for this IfcReinforcingMesh - bool hasTransverseBarSpacing() const; - double TransverseBarSpacing() const; - void setTransverseBarSpacing(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcReinforcingMesh - bool hasPredefinedType() const; + boost::optional< double > MeshLength() const; + void setMeshLength(boost::optional< double > v); + boost::optional< double > MeshWidth() const; + void setMeshWidth(boost::optional< double > v); + boost::optional< double > LongitudinalBarNominalDiameter() const; + void setLongitudinalBarNominalDiameter(boost::optional< double > v); + boost::optional< double > TransverseBarNominalDiameter() const; + void setTransverseBarNominalDiameter(boost::optional< double > v); + boost::optional< double > LongitudinalBarCrossSectionArea() const; + void setLongitudinalBarCrossSectionArea(boost::optional< double > v); + boost::optional< double > TransverseBarCrossSectionArea() const; + void setTransverseBarCrossSectionArea(boost::optional< double > v); + boost::optional< double > LongitudinalBarSpacing() const; + void setLongitudinalBarSpacing(boost::optional< double > v); + boost::optional< double > TransverseBarSpacing() const; + void setTransverseBarSpacing(boost::optional< double > v); /// The predefined type is always MESH. - ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMesh (IfcEntityInstanceData* e); IfcReinforcingMesh (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< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, boost::optional< double > v12_LongitudinalBarNominalDiameter, boost::optional< double > v13_TransverseBarNominalDiameter, boost::optional< double > v14_LongitudinalBarCrossSectionArea, boost::optional< double > v15_TransverseBarCrossSectionArea, boost::optional< double > v16_LongitudinalBarSpacing, boost::optional< double > v17_TransverseBarSpacing, boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); - typedef IfcTemplatedEntityList< IfcReinforcingMesh > list; + typedef aggregate_of< IfcReinforcingMesh > list; }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -34399,59 +33105,52 @@ public: /// The predefined type is always MESH. ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v); - /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMeshType - bool hasMeshLength() const; /// The overall length of the mesh measured in its longitudinal direction. - double MeshLength() const; - void setMeshLength(double v); - /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMeshType - bool hasMeshWidth() const; + boost::optional< double > MeshLength() const; + void setMeshLength(boost::optional< double > v); /// The overall width of the mesh measured in its transversal direction. - double MeshWidth() const; - void setMeshWidth(double v); - /// Whether the optional attribute LongitudinalBarNominalDiameter is defined for this IfcReinforcingMeshType - bool hasLongitudinalBarNominalDiameter() const; + boost::optional< double > MeshWidth() const; + void setMeshWidth(boost::optional< double > v); /// The nominal diameter denoting the cross-section size of the longitudinal bars. - double LongitudinalBarNominalDiameter() const; - void setLongitudinalBarNominalDiameter(double v); - /// Whether the optional attribute TransverseBarNominalDiameter is defined for this IfcReinforcingMeshType - bool hasTransverseBarNominalDiameter() const; + boost::optional< double > LongitudinalBarNominalDiameter() const; + void setLongitudinalBarNominalDiameter(boost::optional< double > v); /// The nominal diameter denoting the cross-section size of the transverse bars. - double TransverseBarNominalDiameter() const; - void setTransverseBarNominalDiameter(double v); - /// Whether the optional attribute LongitudinalBarCrossSectionArea is defined for this IfcReinforcingMeshType - bool hasLongitudinalBarCrossSectionArea() const; + boost::optional< double > TransverseBarNominalDiameter() const; + void setTransverseBarNominalDiameter(boost::optional< double > v); /// The effective cross-section area of the longitudinal bars of the mesh. - double LongitudinalBarCrossSectionArea() const; - void setLongitudinalBarCrossSectionArea(double v); - /// Whether the optional attribute TransverseBarCrossSectionArea is defined for this IfcReinforcingMeshType - bool hasTransverseBarCrossSectionArea() const; + boost::optional< double > LongitudinalBarCrossSectionArea() const; + void setLongitudinalBarCrossSectionArea(boost::optional< double > v); /// The effective cross-section area of the transverse bars of the mesh. - double TransverseBarCrossSectionArea() const; - void setTransverseBarCrossSectionArea(double v); - /// Whether the optional attribute LongitudinalBarSpacing is defined for this IfcReinforcingMeshType - bool hasLongitudinalBarSpacing() const; + boost::optional< double > TransverseBarCrossSectionArea() const; + void setTransverseBarCrossSectionArea(boost::optional< double > v); /// The spacing between the longitudinal bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. - double LongitudinalBarSpacing() const; - void setLongitudinalBarSpacing(double v); - /// Whether the optional attribute TransverseBarSpacing is defined for this IfcReinforcingMeshType - bool hasTransverseBarSpacing() const; + boost::optional< double > LongitudinalBarSpacing() const; + void setLongitudinalBarSpacing(boost::optional< double > v); /// The spacing between the transverse bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. - double TransverseBarSpacing() const; - void setTransverseBarSpacing(double v); - /// Whether the optional attribute BendingShapeCode is defined for this IfcReinforcingMeshType - bool hasBendingShapeCode() const; - std::string BendingShapeCode() const; - void setBendingShapeCode(std::string v); - /// Whether the optional attribute BendingParameters is defined for this IfcReinforcingMeshType - bool hasBendingParameters() const; - IfcEntityList::ptr BendingParameters() const; - void setBendingParameters(IfcEntityList::ptr v); + boost::optional< double > TransverseBarSpacing() const; + void setTransverseBarSpacing(boost::optional< double > v); + boost::optional< std::string > BendingShapeCode() const; + void setBendingShapeCode(boost::optional< std::string > v); + boost::optional< aggregate_of_instance::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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< IfcEntityList::ptr > v20_BendingParameters); - typedef IfcTemplatedEntityList< IfcReinforcingMeshType > list; + 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); + typedef aggregate_of< IfcReinforcingMeshType > list; +}; + +class IFC_PARSE_API IfcRelAdheresToElement : public IfcRelDecomposes { +public: + ::Ifc4x3_rc4::IfcElement* RelatingElement() const; + void setRelatingElement(::Ifc4x3_rc4::IfcElement* v); + aggregate_of< ::Ifc4x3_rc4::IfcSurfaceFeature >::ptr RelatedSurfaceFeatures() const; + void setRelatedSurfaceFeatures(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceFeature >::ptr v); + virtual const IfcParse::entity& declaration() const; + static const IfcParse::entity& Class(); + IfcRelAdheresToElement (IfcEntityInstanceData* e); + 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); + typedef aggregate_of< IfcRelAdheresToElement > list; }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -34485,26 +33184,24 @@ public: /// The object definitions, either object occurrences or object types, that are being aggregated. They are defined as the parts in the whole/part relationship. No order is implied between the parts. /// /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered set of parts within the aggregation. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAggregates (IfcEntityInstanceData* e); - IfcRelAggregates (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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v6_RelatedObjects); - typedef IfcTemplatedEntityList< IfcRelAggregates > list; + IfcRelAggregates (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); + typedef aggregate_of< IfcRelAggregates > list; }; class IFC_PARSE_API IfcRoad : public IfcFacility { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRoad - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcRoadTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcRoadTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRoad (IfcEntityInstanceData* e); IfcRoad (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, boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcRoad > list; + typedef aggregate_of< IfcRoad > list; }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -34546,8 +33243,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRoofType (IfcEntityInstanceData* e); - IfcRoofType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRoofTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcRoofType > list; + IfcRoofType (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::IfcRoofTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcRoofType > list; }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -34594,8 +33291,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSanitaryTerminalType (IfcEntityInstanceData* e); - IfcSanitaryTerminalType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcSanitaryTerminalType > list; + IfcSanitaryTerminalType (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::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcSanitaryTerminalType > list; }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { @@ -34603,81 +33300,61 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSeamCurve (IfcEntityInstanceData* e); - IfcSeamCurve (::Ifc4x3_rc4::IfcCurve* v1_Curve3D, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); - typedef IfcTemplatedEntityList< IfcSeamCurve > list; + IfcSeamCurve (::Ifc4x3_rc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + typedef aggregate_of< IfcSeamCurve > list; }; class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { public: double QuadraticTerm() const; void setQuadraticTerm(double v); - /// Whether the optional attribute LinearTerm is defined for this IfcSecondOrderPolynomialSpiral - bool hasLinearTerm() const; - double LinearTerm() const; - void setLinearTerm(double v); - /// Whether the optional attribute ConstantTerm is defined for this IfcSecondOrderPolynomialSpiral - bool hasConstantTerm() const; - double ConstantTerm() const; - void setConstantTerm(double v); + boost::optional< double > LinearTerm() const; + void setLinearTerm(boost::optional< double > v); + boost::optional< double > ConstantTerm() const; + void setConstantTerm(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSecondOrderPolynomialSpiral (IfcEntityInstanceData* e); IfcSecondOrderPolynomialSpiral (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm); - typedef IfcTemplatedEntityList< IfcSecondOrderPolynomialSpiral > list; + typedef aggregate_of< IfcSecondOrderPolynomialSpiral > list; }; class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { public: ::Ifc4x3_rc4::IfcBoundedCurve* BaseCurve() const; void setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v); - /// Whether the optional attribute EndPoint is defined for this IfcSegmentedReferenceCurve - bool hasEndPoint() const; ::Ifc4x3_rc4::IfcPlacement* EndPoint() const; void setEndPoint(::Ifc4x3_rc4::IfcPlacement* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSegmentedReferenceCurve (IfcEntityInstanceData* e); - IfcSegmentedReferenceCurve (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement* v4_EndPoint); - typedef IfcTemplatedEntityList< IfcSegmentedReferenceCurve > list; + IfcSegmentedReferenceCurve (aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement* v4_EndPoint); + typedef aggregate_of< IfcSegmentedReferenceCurve > list; }; class IFC_PARSE_API IfcSeventhOrderPolynomialSpiral : public IfcSpiral { public: double SepticTerm() const; void setSepticTerm(double v); - /// Whether the optional attribute SexticTerm is defined for this IfcSeventhOrderPolynomialSpiral - bool hasSexticTerm() const; - double SexticTerm() const; - void setSexticTerm(double v); - /// Whether the optional attribute QuinticTerm is defined for this IfcSeventhOrderPolynomialSpiral - bool hasQuinticTerm() const; - double QuinticTerm() const; - void setQuinticTerm(double v); - /// Whether the optional attribute QuarticTerm is defined for this IfcSeventhOrderPolynomialSpiral - bool hasQuarticTerm() const; - double QuarticTerm() const; - void setQuarticTerm(double v); - /// Whether the optional attribute CubicTerm is defined for this IfcSeventhOrderPolynomialSpiral - bool hasCubicTerm() const; - double CubicTerm() const; - void setCubicTerm(double v); - /// Whether the optional attribute QuadraticTerm is defined for this IfcSeventhOrderPolynomialSpiral - bool hasQuadraticTerm() const; - double QuadraticTerm() const; - void setQuadraticTerm(double v); - /// Whether the optional attribute LinearTerm is defined for this IfcSeventhOrderPolynomialSpiral - bool hasLinearTerm() const; - double LinearTerm() const; - void setLinearTerm(double v); - /// Whether the optional attribute ConstantTerm is defined for this IfcSeventhOrderPolynomialSpiral - bool hasConstantTerm() const; - double ConstantTerm() const; - void setConstantTerm(double v); + boost::optional< double > SexticTerm() const; + void setSexticTerm(boost::optional< double > v); + boost::optional< double > QuinticTerm() const; + void setQuinticTerm(boost::optional< double > v); + boost::optional< double > QuarticTerm() const; + void setQuarticTerm(boost::optional< double > v); + boost::optional< double > CubicTerm() const; + void setCubicTerm(boost::optional< double > v); + boost::optional< double > QuadraticTerm() const; + void setQuadraticTerm(boost::optional< double > v); + boost::optional< double > LinearTerm() const; + void setLinearTerm(boost::optional< double > v); + boost::optional< double > ConstantTerm() const; + void setConstantTerm(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSeventhOrderPolynomialSpiral (IfcEntityInstanceData* e); IfcSeventhOrderPolynomialSpiral (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SepticTerm, boost::optional< double > v3_SexticTerm, boost::optional< double > v4_QuinticTerm, boost::optional< double > v5_QuarticTerm, boost::optional< double > v6_CubicTerm, boost::optional< double > v7_QuadraticTerm, boost::optional< double > v8_LinearTerm, boost::optional< double > v9_ConstantTerm); - typedef IfcTemplatedEntityList< IfcSeventhOrderPolynomialSpiral > list; + typedef aggregate_of< IfcSeventhOrderPolynomialSpiral > list; }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -34708,21 +33385,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShadingDeviceType (IfcEntityInstanceData* e); - IfcShadingDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcShadingDeviceType > list; + IfcShadingDeviceType (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::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcShadingDeviceType > list; }; class IFC_PARSE_API IfcSign : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSign - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcSignTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSignTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSign (IfcEntityInstanceData* e); IfcSign (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::IfcSignTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSign > list; + typedef aggregate_of< IfcSign > list; }; class IFC_PARSE_API IfcSignType : public IfcElementComponentType { @@ -34732,8 +33407,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSignType (IfcEntityInstanceData* e); - IfcSignType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcSignType > list; + IfcSignType (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::IfcSignTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcSignType > list; }; class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { @@ -34743,21 +33418,23 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSignalType (IfcEntityInstanceData* e); - IfcSignalType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignalTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcSignalType > list; + IfcSignalType (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::IfcSignalTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcSignalType > list; }; class IFC_PARSE_API IfcSine : public IfcSpiral { public: double SineTerm() const; void setSineTerm(double v); - double LinearTerm() const; - void setLinearTerm(double v); + boost::optional< double > LinearTerm() const; + void setLinearTerm(boost::optional< double > v); + boost::optional< double > ConstantTerm() const; + void setConstantTerm(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSine (IfcEntityInstanceData* e); - IfcSine (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SineTerm, double v3_LinearTerm); - typedef IfcTemplatedEntityList< IfcSine > list; + IfcSine (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm); + typedef aggregate_of< IfcSine > list; }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -34950,31 +33627,21 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - /// Whether the optional attribute RefLatitude is defined for this IfcSite - bool hasRefLatitude() const; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. - std::vector< int > /*[3:4]*/ RefLatitude() const; - void setRefLatitude(std::vector< int > /*[3:4]*/ v); - /// Whether the optional attribute RefLongitude is defined for this IfcSite - bool hasRefLongitude() const; + boost::optional< std::vector< int > /*[3:4]*/ > RefLatitude() const; + void setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v); /// World Longitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Longitudes are measured relative to the geodetic zero meridian, nominally the same as the Greenwich prime meridian: longitudes west of the zero meridian have negative values - from 0 till -180, longitudes east of the zero meridian have positive values - from 0 till -180. /// Example: Chicago Harbor Light has according to WGS84 a longitude -87.35.40 (or 87.35.40W) and a latitude 41.53.30 (or 41.53.30N). - std::vector< int > /*[3:4]*/ RefLongitude() const; - void setRefLongitude(std::vector< int > /*[3:4]*/ v); - /// Whether the optional attribute RefElevation is defined for this IfcSite - bool hasRefElevation() const; + boost::optional< std::vector< int > /*[3:4]*/ > RefLongitude() const; + void setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v); /// Datum elevation relative to sea level. - double RefElevation() const; - void setRefElevation(double v); - /// Whether the optional attribute LandTitleNumber is defined for this IfcSite - bool hasLandTitleNumber() const; + boost::optional< double > RefElevation() const; + void setRefElevation(boost::optional< double > v); /// The land title number (designation of the site within a regional system). - std::string LandTitleNumber() const; - void setLandTitleNumber(std::string v); - /// Whether the optional attribute SiteAddress is defined for this IfcSite - bool hasSiteAddress() const; + boost::optional< std::string > LandTitleNumber() const; + void setLandTitleNumber(boost::optional< std::string > v); /// Address given to the site for postal purposes. ::Ifc4x3_rc4::IfcPostalAddress* SiteAddress() const; void setSiteAddress(::Ifc4x3_rc4::IfcPostalAddress* v); @@ -34982,7 +33649,7 @@ public: static const IfcParse::entity& Class(); IfcSite (IfcEntityInstanceData* e); IfcSite (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, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc4::IfcPostalAddress* v14_SiteAddress); - typedef IfcTemplatedEntityList< IfcSite > list; + typedef aggregate_of< IfcSite > list; }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -35069,8 +33736,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSlabType (IfcEntityInstanceData* e); - IfcSlabType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSlabTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcSlabType > list; + IfcSlabType (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::IfcSlabTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcSlabType > list; }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -35105,8 +33772,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSolarDeviceType (IfcEntityInstanceData* e); - IfcSolarDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcSolarDeviceType > list; + IfcSolarDeviceType (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::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcSolarDeviceType > list; }; class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { @@ -35115,7 +33782,7 @@ public: static const IfcParse::entity& Class(); IfcSolidStratum (IfcEntityInstanceData* e); IfcSolidStratum (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); - typedef IfcTemplatedEntityList< IfcSolidStratum > list; + typedef aggregate_of< IfcSolidStratum > list; }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -35369,27 +34036,23 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSpace - bool hasPredefinedType() const; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// /// Previous use, prior to IFC2x4, had been to indicates whether the IfcSpace is an interior space by value INTERNAL, or an exterior space by value EXTERNAL. This use is now deprecated, the property 'IsExternal' at 'Pset_SpaceCommon' should be used instead. /// /// IFC2x4 CHANGE  The attribute has been renamed from ExteriorOrInteriorSpace with upward compatibility for file based exchange. - ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v); - /// Whether the optional attribute ElevationWithFlooring is defined for this IfcSpace - bool hasElevationWithFlooring() const; + boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v); /// Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space. - double ElevationWithFlooring() const; - void setElevationWithFlooring(double v); - IfcTemplatedEntityList< IfcRelCoversSpaces >::ptr HasCoverings() const; // INVERSE IfcRelCoversSpaces::RelatingSpace - IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace + boost::optional< double > ElevationWithFlooring() const; + void setElevationWithFlooring(boost::optional< double > v); + aggregate_of< IfcRelCoversSpaces >::ptr HasCoverings() const; // INVERSE IfcRelCoversSpaces::RelatingSpace + aggregate_of< IfcRelSpaceBoundary >::ptr BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpace (IfcEntityInstanceData* e); IfcSpace (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, boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring); - typedef IfcTemplatedEntityList< IfcSpace > list; + typedef aggregate_of< IfcSpace > list; }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -35429,8 +34092,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpaceHeaterType (IfcEntityInstanceData* e); - IfcSpaceHeaterType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcSpaceHeaterType > list; + IfcSpaceHeaterType (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::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcSpaceHeaterType > list; }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -35518,15 +34181,13 @@ public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v); - /// Whether the optional attribute LongName is defined for this IfcSpaceType - bool hasLongName() const; - std::string LongName() const; - void setLongName(std::string v); + boost::optional< std::string > LongName() const; + void setLongName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpaceType (IfcEntityInstanceData* e); - IfcSpaceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName); - typedef IfcTemplatedEntityList< IfcSpaceType > list; + IfcSpaceType (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::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName); + typedef aggregate_of< IfcSpaceType > list; }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -35562,8 +34223,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStackTerminalType (IfcEntityInstanceData* e); - IfcStackTerminalType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcStackTerminalType > list; + IfcStackTerminalType (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::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcStackTerminalType > list; }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -35593,8 +34254,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStairFlightType (IfcEntityInstanceData* e); - IfcStairFlightType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcStairFlightType > list; + IfcStairFlightType (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::IfcStairFlightTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcStairFlightType > list; }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -35637,8 +34298,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStairType (IfcEntityInstanceData* e); - IfcStairType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcStairType > list; + IfcStairType (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::IfcStairTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcStairType > list; }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -35661,33 +34322,29 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - /// Whether the optional attribute DestabilizingLoad is defined for this IfcStructuralAction - bool hasDestabilizingLoad() const; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. - bool DestabilizingLoad() const; - void setDestabilizingLoad(bool v); + boost::optional< bool > DestabilizingLoad() const; + void setDestabilizingLoad(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralAction (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcStructuralAction > list; + typedef aggregate_of< IfcStructuralAction > list; }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - /// Whether the optional attribute AppliedCondition is defined for this IfcStructuralConnection - bool hasAppliedCondition() const; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x3_rc4::IfcBoundaryCondition* AppliedCondition() const; void setAppliedCondition(::Ifc4x3_rc4::IfcBoundaryCondition* v); - IfcTemplatedEntityList< IfcRelConnectsStructuralMember >::ptr ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection + aggregate_of< IfcRelConnectsStructuralMember >::ptr ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralConnection (IfcEntityInstanceData* e); IfcStructuralConnection (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::IfcBoundaryCondition* v8_AppliedCondition); - typedef IfcTemplatedEntityList< IfcStructuralConnection > list; + typedef aggregate_of< IfcStructuralConnection > list; }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -35747,11 +34404,9 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - /// Whether the optional attribute ProjectedOrTrue is defined for this IfcStructuralCurveAction - bool hasProjectedOrTrue() const; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. - ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value ProjectedOrTrue() const; - void setProjectedOrTrue(::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; + void setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v); /// Type of action according to its distribution of load values. ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v); @@ -35759,7 +34414,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralCurveAction (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcStructuralCurveAction > list; + typedef aggregate_of< IfcStructuralCurveAction > list; }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -35789,7 +34444,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralCurveConnection (IfcEntityInstanceData* e); IfcStructuralCurveConnection (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::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc4::IfcDirection* v9_Axis); - typedef IfcTemplatedEntityList< IfcStructuralCurveConnection > list; + typedef aggregate_of< IfcStructuralCurveConnection > list; }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -35842,7 +34497,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralCurveMember (IfcEntityInstanceData* e); IfcStructuralCurveMember (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::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection* v9_Axis); - typedef IfcTemplatedEntityList< IfcStructuralCurveMember > list; + typedef aggregate_of< IfcStructuralCurveMember > list; }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -35870,7 +34525,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralCurveMemberVarying (IfcEntityInstanceData* e); IfcStructuralCurveMemberVarying (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::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection* v9_Axis); - typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > list; + typedef aggregate_of< IfcStructuralCurveMemberVarying > list; }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -35931,7 +34586,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralCurveReaction (IfcEntityInstanceData* e); IfcStructuralCurveReaction (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, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcStructuralCurveReaction > list; + typedef aggregate_of< IfcStructuralCurveReaction > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -35946,7 +34601,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralLinearAction (IfcEntityInstanceData* e); IfcStructuralLinearAction (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); - typedef IfcTemplatedEntityList< IfcStructuralLinearAction > list; + typedef aggregate_of< IfcStructuralLinearAction > list; }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -35992,23 +34647,19 @@ public: /// Source of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE. ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value ActionSource() const; void setActionSource(::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v); - /// Whether the optional attribute Coefficient is defined for this IfcStructuralLoadGroup - bool hasCoefficient() const; /// Load factor. If omitted, a factor is not yet known or not specified. A load factor of 1.0 shall be explicitly exported as Coefficient = 1.0. - double Coefficient() const; - void setCoefficient(double v); - /// Whether the optional attribute Purpose is defined for this IfcStructuralLoadGroup - bool hasPurpose() const; + boost::optional< double > Coefficient() const; + void setCoefficient(boost::optional< double > v); /// Description of the purpose of this instance. Among else, possible values of the Purpose of load combinations are 'SLS', 'ULS', 'ALS' to indicate serviceability, ultimate, or accidental limit state. - std::string Purpose() const; - void setPurpose(std::string v); - IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr SourceOfResultGroup() const; // INVERSE IfcStructuralResultGroup::ResultForLoadGroup - IfcTemplatedEntityList< IfcStructuralAnalysisModel >::ptr LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy + boost::optional< std::string > Purpose() const; + void setPurpose(boost::optional< std::string > v); + aggregate_of< IfcStructuralResultGroup >::ptr SourceOfResultGroup() const; // INVERSE IfcStructuralResultGroup::ResultForLoadGroup + aggregate_of< IfcStructuralAnalysisModel >::ptr LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadGroup (IfcEntityInstanceData* e); IfcStructuralLoadGroup (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::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose); - typedef IfcTemplatedEntityList< IfcStructuralLoadGroup > list; + typedef aggregate_of< IfcStructuralLoadGroup > list; }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -36061,7 +34712,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralPointAction (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcStructuralPointAction > list; + typedef aggregate_of< IfcStructuralPointAction > list; }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -36078,8 +34729,6 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcStructuralPointConnection - bool hasConditionCoordinateSystem() const; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x3_rc4::IfcAxis2Placement3D* ConditionCoordinateSystem() const; void setConditionCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement3D* v); @@ -36087,7 +34736,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralPointConnection (IfcEntityInstanceData* e); IfcStructuralPointConnection (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::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc4::IfcAxis2Placement3D* v9_ConditionCoordinateSystem); - typedef IfcTemplatedEntityList< IfcStructuralPointConnection > list; + typedef aggregate_of< IfcStructuralPointConnection > list; }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -36138,7 +34787,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralPointReaction (IfcEntityInstanceData* e); IfcStructuralPointReaction (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); - typedef IfcTemplatedEntityList< IfcStructuralPointReaction > list; + typedef aggregate_of< IfcStructuralPointReaction > list; }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -36149,20 +34798,18 @@ public: /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; void setTheoryType(::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value v); - /// Whether the optional attribute ResultForLoadGroup is defined for this IfcStructuralResultGroup - bool hasResultForLoadGroup() const; /// Reference to an instance of IfcStructuralLoadGroup for which this instance represents the result. ::Ifc4x3_rc4::IfcStructuralLoadGroup* ResultForLoadGroup() const; void setResultForLoadGroup(::Ifc4x3_rc4::IfcStructuralLoadGroup* v); /// This value allows to easily recognize whether a linear analysis has been applied (allowing the superposition of analysis results). bool IsLinear() const; void setIsLinear(bool v); - IfcTemplatedEntityList< IfcStructuralAnalysisModel >::ptr ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults + aggregate_of< IfcStructuralAnalysisModel >::ptr ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralResultGroup (IfcEntityInstanceData* e); IfcStructuralResultGroup (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::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc4::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear); - typedef IfcTemplatedEntityList< IfcStructuralResultGroup > list; + typedef aggregate_of< IfcStructuralResultGroup > list; }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -36218,11 +34865,9 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - /// Whether the optional attribute ProjectedOrTrue is defined for this IfcStructuralSurfaceAction - bool hasProjectedOrTrue() const; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. - ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value ProjectedOrTrue() const; - void setProjectedOrTrue(::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; + void setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v); /// Type of action according to its distribution of load values. ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v); @@ -36230,7 +34875,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralSurfaceAction (IfcEntityInstanceData* e); IfcStructuralSurfaceAction (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::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); - typedef IfcTemplatedEntityList< IfcStructuralSurfaceAction > list; + typedef aggregate_of< IfcStructuralSurfaceAction > list; }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -36250,7 +34895,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralSurfaceConnection (IfcEntityInstanceData* e); IfcStructuralSurfaceConnection (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::IfcBoundaryCondition* v8_AppliedCondition); - typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection > list; + typedef aggregate_of< IfcStructuralSurfaceConnection > list; }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -36278,17 +34923,15 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSubContractResource - bool hasPredefinedType() const; /// Defines types of subcontract resources. /// IFC2x4 New attribute - ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSubContractResource (IfcEntityInstanceData* e); - IfcSubContractResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); - typedef IfcTemplatedEntityList< IfcSubContractResource > list; + IfcSubContractResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + typedef aggregate_of< IfcSubContractResource > list; }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -36324,16 +34967,15 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSurfaceFeature - bool hasPredefinedType() const; /// Indicates the kind of surface feature. - ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value v); - virtual const IfcParse::entity& declaration() const; + boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v); + aggregate_of< IfcRelAdheresToElement >::ptr AdheresToElement() const; // INVERSE IfcRelAdheresToElement::RelatedSurfaceFeatures + virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceFeature (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcSurfaceFeature > list; + typedef aggregate_of< IfcSurfaceFeature > list; }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -36383,8 +35025,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSwitchingDeviceType (IfcEntityInstanceData* e); - IfcSwitchingDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcSwitchingDeviceType > list; + IfcSwitchingDeviceType (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::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcSwitchingDeviceType > list; }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -36405,13 +35047,13 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcTemplatedEntityList< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem - IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::ptr ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements + aggregate_of< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem + aggregate_of< IfcRelReferencedInSpatialStructure >::ptr ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSystem (IfcEntityInstanceData* e); IfcSystem (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); - typedef IfcTemplatedEntityList< IfcSystem > list; + typedef aggregate_of< IfcSystem > list; }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -36439,15 +35081,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSystemFurnitureElement - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSystemFurnitureElement (IfcEntityInstanceData* e); IfcSystemFurnitureElement (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::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSystemFurnitureElement > list; + typedef aggregate_of< IfcSystemFurnitureElement > list; }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -36489,62 +35129,44 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTankType (IfcEntityInstanceData* e); - IfcTankType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTankTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcTankType > list; + IfcTankType (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::IfcTankTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcTankType > list; }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTendon - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcTendonTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcTendonTypeEnum::Value v); - /// Whether the optional attribute NominalDiameter is defined for this IfcTendon - bool hasNominalDiameter() const; - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute CrossSectionArea is defined for this IfcTendon - bool hasCrossSectionArea() const; - double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute TensionForce is defined for this IfcTendon - bool hasTensionForce() const; - double TensionForce() const; - void setTensionForce(double v); - /// Whether the optional attribute PreStress is defined for this IfcTendon - bool hasPreStress() const; - double PreStress() const; - void setPreStress(double v); - /// Whether the optional attribute FrictionCoefficient is defined for this IfcTendon - bool hasFrictionCoefficient() const; - double FrictionCoefficient() const; - void setFrictionCoefficient(double v); - /// Whether the optional attribute AnchorageSlip is defined for this IfcTendon - bool hasAnchorageSlip() const; - double AnchorageSlip() const; - void setAnchorageSlip(double v); - /// Whether the optional attribute MinCurvatureRadius is defined for this IfcTendon - bool hasMinCurvatureRadius() const; - double MinCurvatureRadius() const; - void setMinCurvatureRadius(double v); + boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v); + boost::optional< double > NominalDiameter() const; + void setNominalDiameter(boost::optional< double > v); + boost::optional< double > CrossSectionArea() const; + void setCrossSectionArea(boost::optional< double > v); + boost::optional< double > TensionForce() const; + void setTensionForce(boost::optional< double > v); + boost::optional< double > PreStress() const; + void setPreStress(boost::optional< double > v); + boost::optional< double > FrictionCoefficient() const; + void setFrictionCoefficient(boost::optional< double > v); + boost::optional< double > AnchorageSlip() const; + void setAnchorageSlip(boost::optional< double > v); + boost::optional< double > MinCurvatureRadius() const; + void setMinCurvatureRadius(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTendon (IfcEntityInstanceData* e); IfcTendon (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< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius); - typedef IfcTemplatedEntityList< IfcTendon > list; + typedef aggregate_of< IfcTendon > list; }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTendonAnchor - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTendonAnchor (IfcEntityInstanceData* e); IfcTendonAnchor (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< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcTendonAnchor > list; + typedef aggregate_of< IfcTendonAnchor > list; }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { @@ -36554,8 +35176,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTendonAnchorType (IfcEntityInstanceData* e); - IfcTendonAnchorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcTendonAnchorType > list; + IfcTendonAnchorType (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::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcTendonAnchorType > list; }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { @@ -36566,7 +35188,7 @@ public: static const IfcParse::entity& Class(); IfcTendonConduit (IfcEntityInstanceData* e); IfcTendonConduit (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< std::string > v9_SteelGrade, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcTendonConduit > list; + typedef aggregate_of< IfcTendonConduit > list; }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { @@ -36576,31 +35198,25 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTendonConduitType (IfcEntityInstanceData* e); - IfcTendonConduitType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcTendonConduitType > list; + IfcTendonConduitType (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::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcTendonConduitType > list; }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: ::Ifc4x3_rc4::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcTendonTypeEnum::Value v); - /// Whether the optional attribute NominalDiameter is defined for this IfcTendonType - bool hasNominalDiameter() const; - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute CrossSectionArea is defined for this IfcTendonType - bool hasCrossSectionArea() const; - double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute SheathDiameter is defined for this IfcTendonType - bool hasSheathDiameter() const; - double SheathDiameter() const; - void setSheathDiameter(double v); + boost::optional< double > NominalDiameter() const; + void setNominalDiameter(boost::optional< double > v); + boost::optional< double > CrossSectionArea() const; + void setCrossSectionArea(boost::optional< double > v); + boost::optional< double > SheathDiameter() const; + void setSheathDiameter(boost::optional< double > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTendonType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::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); - typedef IfcTemplatedEntityList< IfcTendonType > list; + 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); + typedef aggregate_of< IfcTendonType > list; }; class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { @@ -36610,8 +35226,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrackElementType (IfcEntityInstanceData* e); - IfcTrackElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcTrackElementType > list; + IfcTrackElementType (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::IfcTrackElementTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcTrackElementType > list; }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -36648,8 +35264,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTransformerType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcTransformerType > list; + 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); + typedef aggregate_of< IfcTransformerType > list; }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -36769,8 +35385,6 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTransportElement - bool hasPredefinedType() const; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. @@ -36780,7 +35394,7 @@ public: static const IfcParse::entity& Class(); IfcTransportElement (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcTransportElement > list; + typedef aggregate_of< IfcTransportElement > list; }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -36866,11 +35480,11 @@ public: ::Ifc4x3_rc4::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3_rc4::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - IfcEntityList::ptr Trim1() const; - void setTrim1(IfcEntityList::ptr v); + aggregate_of_instance::ptr Trim1() const; + void setTrim1(aggregate_of_instance::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - IfcEntityList::ptr Trim2() const; - void setTrim2(IfcEntityList::ptr v); + aggregate_of_instance::ptr Trim2() const; + void setTrim2(aggregate_of_instance::ptr v); /// Flag to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve. bool SenseAgreement() const; void setSenseAgreement(bool v); @@ -36880,8 +35494,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, IfcEntityList::ptr v2_Trim1, IfcEntityList::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation); - typedef IfcTemplatedEntityList< IfcTrimmedCurve > list; + IfcTrimmedCurve (::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation); + typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -36920,8 +35534,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTubeBundleType (IfcEntityInstanceData* e); - IfcTubeBundleType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcTubeBundleType > list; + IfcTubeBundleType (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::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcTubeBundleType > list; }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -36959,8 +35573,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitaryEquipmentType (IfcEntityInstanceData* e); - IfcUnitaryEquipmentType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcUnitaryEquipmentType > list; + IfcUnitaryEquipmentType (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::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcUnitaryEquipmentType > list; }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -37008,34 +35622,30 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcValveType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcValveTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcValveType > list; + 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); + typedef aggregate_of< IfcValveType > list; }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcVibrationDamper - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcVibrationDamper (IfcEntityInstanceData* e); IfcVibrationDamper (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::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcVibrationDamper > list; + typedef aggregate_of< IfcVibrationDamper > list; }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - /// Whether the optional attribute PredefinedType is defined for this IfcVibrationDamperType - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcVibrationDamperType (IfcEntityInstanceData* e); - IfcVibrationDamperType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcVibrationDamperType > list; + IfcVibrationDamperType (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, boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); + typedef aggregate_of< IfcVibrationDamperType > list; }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -37073,15 +35683,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcVibrationIsolator - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcVibrationIsolator (IfcEntityInstanceData* e); IfcVibrationIsolator (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::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcVibrationIsolator > list; + typedef aggregate_of< IfcVibrationIsolator > list; }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -37113,8 +35721,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcVibrationIsolatorType (IfcEntityInstanceData* e); - IfcVibrationIsolatorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcVibrationIsolatorType > list; + IfcVibrationIsolatorType (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::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcVibrationIsolatorType > list; }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -37208,7 +35816,7 @@ public: static const IfcParse::entity& Class(); IfcVirtualElement (IfcEntityInstanceData* e); IfcVirtualElement (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); - typedef IfcTemplatedEntityList< IfcVirtualElement > list; + typedef aggregate_of< IfcVirtualElement > list; }; class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { @@ -37217,7 +35825,7 @@ public: static const IfcParse::entity& Class(); IfcVoidStratum (IfcEntityInstanceData* e); IfcVoidStratum (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); - typedef IfcTemplatedEntityList< IfcVoidStratum > list; + typedef aggregate_of< IfcVoidStratum > list; }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -37253,16 +35861,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - /// Whether the optional attribute PredefinedType is defined for this IfcVoidingFeature - bool hasPredefinedType() const; /// Qualifies the feature regarding its shape and configuration relative to the voided element. - ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcVoidingFeature (IfcEntityInstanceData* e); IfcVoidingFeature (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::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcVoidingFeature > list; + typedef aggregate_of< IfcVoidingFeature > list; }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -37356,8 +35962,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWallType (IfcEntityInstanceData* e); - IfcWallType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWallTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcWallType > list; + IfcWallType (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::IfcWallTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcWallType > list; }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -37403,8 +36009,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWasteTerminalType (IfcEntityInstanceData* e); - IfcWasteTerminalType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcWasteTerminalType > list; + IfcWasteTerminalType (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::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcWasteTerminalType > list; }; class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { @@ -37413,7 +36019,7 @@ public: static const IfcParse::entity& Class(); IfcWaterStratum (IfcEntityInstanceData* e); IfcWaterStratum (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); - typedef IfcTemplatedEntityList< IfcWaterStratum > list; + typedef aggregate_of< IfcWaterStratum > list; }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -37544,19 +36150,15 @@ public: /// Type defining the general layout of the window type in terms of the partitioning of panels. ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value PartitioningType() const; void setPartitioningType(::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v); - /// Whether the optional attribute ParameterTakesPrecedence is defined for this IfcWindowType - bool hasParameterTakesPrecedence() const; - bool ParameterTakesPrecedence() const; - void setParameterTakesPrecedence(bool v); - /// Whether the optional attribute UserDefinedPartitioningType is defined for this IfcWindowType - bool hasUserDefinedPartitioningType() const; - std::string UserDefinedPartitioningType() const; - void setUserDefinedPartitioningType(std::string v); + boost::optional< bool > ParameterTakesPrecedence() const; + void setParameterTakesPrecedence(boost::optional< bool > v); + boost::optional< std::string > UserDefinedPartitioningType() const; + void setUserDefinedPartitioningType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWindowType (IfcEntityInstanceData* e); - IfcWindowType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType); - typedef IfcTemplatedEntityList< IfcWindowType > list; + IfcWindowType (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::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType); + typedef aggregate_of< IfcWindowType > list; }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -37573,33 +36175,27 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - /// Whether the optional attribute WorkingTimes is defined for this IfcWorkCalendar - bool hasWorkingTimes() const; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict /// these working times. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr WorkingTimes() const; - void setWorkingTimes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr v); - /// Whether the optional attribute ExceptionTimes is defined for this IfcWorkCalendar - bool hasExceptionTimes() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > WorkingTimes() const; + void setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v); /// Set of times periods that define exceptions (non-working /// times) for the given working times including the base /// calendar, if provided. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr ExceptionTimes() const; - void setExceptionTimes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr v); - /// Whether the optional attribute PredefinedType is defined for this IfcWorkCalendar - bool hasPredefinedType() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > ExceptionTimes() const; + void setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v); /// Identifies the predefined types of a work calendar from which /// the type required may be set. /// /// Added in IFC 2x4 - ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWorkCalendar (IfcEntityInstanceData* e); - IfcWorkCalendar (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcWorkCalendar > list; + IfcWorkCalendar (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< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + typedef aggregate_of< IfcWorkCalendar > list; }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -37650,39 +36246,29 @@ public: /// The date that the plan is created. std::string CreationDate() const; void setCreationDate(std::string v); - /// Whether the optional attribute Creators is defined for this IfcWorkControl - bool hasCreators() const; /// The authors of the work plan. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr Creators() const; - void setCreators(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPerson >::ptr v); - /// Whether the optional attribute Purpose is defined for this IfcWorkControl - bool hasPurpose() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > Creators() const; + void setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v); /// A description of the purpose of the work schedule. - std::string Purpose() const; - void setPurpose(std::string v); - /// Whether the optional attribute Duration is defined for this IfcWorkControl - bool hasDuration() const; + boost::optional< std::string > Purpose() const; + void setPurpose(boost::optional< std::string > v); /// The total duration of the entire work schedule. - std::string Duration() const; - void setDuration(std::string v); - /// Whether the optional attribute TotalFloat is defined for this IfcWorkControl - bool hasTotalFloat() const; + boost::optional< std::string > Duration() const; + void setDuration(boost::optional< std::string > v); /// The total time float of the entire work schedule. - std::string TotalFloat() const; - void setTotalFloat(std::string v); + boost::optional< std::string > TotalFloat() const; + void setTotalFloat(boost::optional< std::string > v); /// The start time of the schedule. std::string StartTime() const; void setStartTime(std::string v); - /// Whether the optional attribute FinishTime is defined for this IfcWorkControl - bool hasFinishTime() const; /// The finish time of the schedule. - std::string FinishTime() const; - void setFinishTime(std::string v); + boost::optional< std::string > FinishTime() const; + void setFinishTime(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWorkControl (IfcEntityInstanceData* e); - IfcWorkControl (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< IfcTemplatedEntityList< ::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); - typedef IfcTemplatedEntityList< IfcWorkControl > list; + IfcWorkControl (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); + typedef aggregate_of< IfcWorkControl > list; }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -37711,17 +36297,15 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcWorkPlan - bool hasPredefinedType() const; /// Identifies the predefined types of a work plan from which /// the type required may be set. - ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWorkPlan (IfcEntityInstanceData* e); - IfcWorkPlan (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< IfcTemplatedEntityList< ::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::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); - typedef IfcTemplatedEntityList< IfcWorkPlan > list; + IfcWorkPlan (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::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + typedef aggregate_of< IfcWorkPlan > list; }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -37765,17 +36349,15 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcWorkSchedule - bool hasPredefinedType() const; /// Identifies the predefined types of a work schedule from which /// the type required may be set. - ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWorkSchedule (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::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); - typedef IfcTemplatedEntityList< IfcWorkSchedule > list; + 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); + typedef aggregate_of< IfcWorkSchedule > list; }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -37864,20 +36446,18 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - /// Whether the optional attribute LongName is defined for this IfcZone - bool hasLongName() const; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// /// NOTE In many scenarios the Name attribute refers to the short name or number of a zone, and the LongName refers to the full name. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - std::string LongName() const; - void setLongName(std::string v); + boost::optional< std::string > LongName() const; + void setLongName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcZone (IfcEntityInstanceData* e); IfcZone (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_LongName); - typedef IfcTemplatedEntityList< IfcZone > list; + typedef aggregate_of< IfcZone > list; }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -37919,15 +36499,11 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcActionRequest - bool hasPredefinedType() const; /// Identifies the predefined type of sources through which a request can be made. /// /// IFC2x4 CHANGE The attribute has been added. - ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value v); - /// Whether the optional attribute Status is defined for this IfcActionRequest - bool hasStatus() const; + boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v); /// The status currently assigned to the request. Possible values include: /// Hold: wait to see if further requests are received before deciding on action /// NoAction: no action is required on this request @@ -37935,20 +36511,18 @@ public: /// Urgent: take action immediately /// /// IFC2x4 CHANGE The attribute has been added. - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcActionRequest - bool hasLongDescription() const; + boost::optional< std::string > Status() const; + void setStatus(boost::optional< std::string > v); /// Detailed description of the permit. /// /// IFC2x4 CHANGE The attribute has been added. - std::string LongDescription() const; - void setLongDescription(std::string v); + boost::optional< std::string > LongDescription() const; + void setLongDescription(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcActionRequest (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcActionRequest > list; + typedef aggregate_of< IfcActionRequest > list; }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -37984,8 +36558,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAirTerminalBoxType (IfcEntityInstanceData* e); - IfcAirTerminalBoxType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcAirTerminalBoxType > list; + IfcAirTerminalBoxType (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::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcAirTerminalBoxType > list; }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -38020,8 +36594,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAirTerminalType (IfcEntityInstanceData* e); - IfcAirTerminalType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcAirTerminalType > list; + IfcAirTerminalType (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::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcAirTerminalType > list; }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -38057,8 +36631,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAirToAirHeatRecoveryType (IfcEntityInstanceData* e); - IfcAirToAirHeatRecoveryType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType > list; + IfcAirToAirHeatRecoveryType (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::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcAirToAirHeatRecoveryType > list; }; class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { @@ -38069,7 +36643,7 @@ public: static const IfcParse::entity& Class(); IfcAlignmentCant (IfcEntityInstanceData* e); IfcAlignmentCant (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, double v8_RailHeadDistance); - typedef IfcTemplatedEntityList< IfcAlignmentCant > list; + typedef aggregate_of< IfcAlignmentCant > list; }; class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { @@ -38078,7 +36652,7 @@ public: static const IfcParse::entity& Class(); IfcAlignmentHorizontal (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcAlignmentHorizontal > list; + typedef aggregate_of< IfcAlignmentHorizontal > list; }; class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { @@ -38089,7 +36663,7 @@ public: static const IfcParse::entity& Class(); IfcAlignmentSegment (IfcEntityInstanceData* e); IfcAlignmentSegment (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::IfcAlignmentParameterSegment* v8_DesignParameters); - typedef IfcTemplatedEntityList< IfcAlignmentSegment > list; + typedef aggregate_of< IfcAlignmentSegment > list; }; class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { @@ -38098,7 +36672,7 @@ public: static const IfcParse::entity& Class(); IfcAlignmentVertical (IfcEntityInstanceData* e); IfcAlignmentVertical (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); - typedef IfcTemplatedEntityList< IfcAlignmentVertical > list; + typedef aggregate_of< IfcAlignmentVertical > list; }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -38126,53 +36700,35 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - /// Whether the optional attribute Identification is defined for this IfcAsset - bool hasIdentification() const; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute OriginalValue is defined for this IfcAsset - bool hasOriginalValue() const; + boost::optional< std::string > Identification() const; + void setIdentification(boost::optional< std::string > v); /// The cost value of the asset at the time of purchase. ::Ifc4x3_rc4::IfcCostValue* OriginalValue() const; void setOriginalValue(::Ifc4x3_rc4::IfcCostValue* v); - /// Whether the optional attribute CurrentValue is defined for this IfcAsset - bool hasCurrentValue() const; /// The current cost value of the asset. ::Ifc4x3_rc4::IfcCostValue* CurrentValue() const; void setCurrentValue(::Ifc4x3_rc4::IfcCostValue* v); - /// Whether the optional attribute TotalReplacementCost is defined for this IfcAsset - bool hasTotalReplacementCost() const; /// The total cost of replacement of the asset. ::Ifc4x3_rc4::IfcCostValue* TotalReplacementCost() const; void setTotalReplacementCost(::Ifc4x3_rc4::IfcCostValue* v); - /// Whether the optional attribute Owner is defined for this IfcAsset - bool hasOwner() const; /// The name of the person or organization that 'owns' the asset. ::Ifc4x3_rc4::IfcActorSelect* Owner() const; void setOwner(::Ifc4x3_rc4::IfcActorSelect* v); - /// Whether the optional attribute User is defined for this IfcAsset - bool hasUser() const; /// The name of the person or organization that 'uses' the asset. ::Ifc4x3_rc4::IfcActorSelect* User() const; void setUser(::Ifc4x3_rc4::IfcActorSelect* v); - /// Whether the optional attribute ResponsiblePerson is defined for this IfcAsset - bool hasResponsiblePerson() const; /// The person designated to be responsible for the asset. /// NOTE: In some regulations (for example, UK Health and Safety at Work Act, Electricity at Work Regulations), management of assets must have a person identified as being responsible and to whom regulatory, insurance and other organizations communicate. In places where there is not a legal requirement, the responsible person would be the asset manager but would not have a legal status. ::Ifc4x3_rc4::IfcPerson* ResponsiblePerson() const; void setResponsiblePerson(::Ifc4x3_rc4::IfcPerson* v); - /// Whether the optional attribute IncorporationDate is defined for this IfcAsset - bool hasIncorporationDate() const; /// The date on which an asset was incorporated into the works, installed, constructed, erected or completed. /// NOTE: This is the date on which an asset is considered to start depreciating. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string IncorporationDate() const; - void setIncorporationDate(std::string v); - /// Whether the optional attribute DepreciatedValue is defined for this IfcAsset - bool hasDepreciatedValue() const; + boost::optional< std::string > IncorporationDate() const; + void setIncorporationDate(boost::optional< std::string > v); /// The current value of an asset within the accounting rules and procedures of an organization. ::Ifc4x3_rc4::IfcCostValue* DepreciatedValue() const; void setDepreciatedValue(::Ifc4x3_rc4::IfcCostValue* v); @@ -38180,7 +36736,7 @@ public: static const IfcParse::entity& Class(); IfcAsset (IfcEntityInstanceData* e); IfcAsset (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, ::Ifc4x3_rc4::IfcCostValue* v7_OriginalValue, ::Ifc4x3_rc4::IfcCostValue* v8_CurrentValue, ::Ifc4x3_rc4::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_rc4::IfcActorSelect* v10_Owner, ::Ifc4x3_rc4::IfcActorSelect* v11_User, ::Ifc4x3_rc4::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc4::IfcCostValue* v14_DepreciatedValue); - typedef IfcTemplatedEntityList< IfcAsset > list; + typedef aggregate_of< IfcAsset > list; }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -38232,8 +36788,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAudioVisualApplianceType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcAudioVisualApplianceType > list; + 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); + typedef aggregate_of< IfcAudioVisualApplianceType > list; }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -38290,22 +36846,22 @@ public: int Degree() const; void setDegree(int v); /// The list of control points for the curve. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr ControlPointsList() const; - void setControlPointsList(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr ControlPointsList() const; + void setControlPointsList(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v); /// Used to identify particular types of curve; it is for information only. ::Ifc4x3_rc4::IfcBSplineCurveForm::Value CurveForm() const; void setCurveForm(::Ifc4x3_rc4::IfcBSplineCurveForm::Value v); /// Indication of whether the curve is closed; it is for information only. - bool ClosedCurve() const; - void setClosedCurve(bool v); + boost::logic::tribool ClosedCurve() const; + void setClosedCurve(boost::logic::tribool v); /// Indication whether the curve self-intersects or not; it is for information only. - bool SelfIntersect() const; - void setSelfIntersect(bool v); + boost::logic::tribool SelfIntersect() const; + void setSelfIntersect(boost::logic::tribool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBSplineCurve (IfcEntityInstanceData* e); - IfcBSplineCurve (int v1_Degree, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect); - typedef IfcTemplatedEntityList< IfcBSplineCurve > list; + IfcBSplineCurve (int v1_Degree, aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + typedef aggregate_of< IfcBSplineCurve > list; }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -38338,8 +36894,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBSplineCurveWithKnots (IfcEntityInstanceData* e); - IfcBSplineCurveWithKnots (int v1_Degree, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec); - typedef IfcTemplatedEntityList< IfcBSplineCurveWithKnots > list; + IfcBSplineCurveWithKnots (int v1_Degree, aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec); + typedef aggregate_of< IfcBSplineCurveWithKnots > list; }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -38447,8 +37003,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBeamType (IfcEntityInstanceData* e); - IfcBeamType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBeamTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcBeamType > list; + IfcBeamType (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::IfcBeamTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcBeamType > list; }; class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { @@ -38458,8 +37014,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBearingType (IfcEntityInstanceData* e); - IfcBearingType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBearingTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcBearingType > list; + IfcBearingType (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::IfcBearingTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcBearingType > list; }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -38498,8 +37054,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBoilerType (IfcEntityInstanceData* e); - IfcBoilerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcBoilerType > list; + IfcBoilerType (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::IfcBoilerTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcBoilerType > list; }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -38513,21 +37069,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBoundaryCurve (IfcEntityInstanceData* e); - IfcBoundaryCurve (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect); - typedef IfcTemplatedEntityList< IfcBoundaryCurve > list; + IfcBoundaryCurve (aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect); + typedef aggregate_of< IfcBoundaryCurve > list; }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBridge - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcBridgeTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBridge (IfcEntityInstanceData* e); IfcBridge (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, boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcBridge > list; + typedef aggregate_of< IfcBridge > list; }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -38705,18 +37259,12 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - /// Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding - bool hasElevationOfRefHeight() const; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. - double ElevationOfRefHeight() const; - void setElevationOfRefHeight(double v); - /// Whether the optional attribute ElevationOfTerrain is defined for this IfcBuilding - bool hasElevationOfTerrain() const; + boost::optional< double > ElevationOfRefHeight() const; + void setElevationOfRefHeight(boost::optional< double > v); /// Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level. - double ElevationOfTerrain() const; - void setElevationOfTerrain(double v); - /// Whether the optional attribute BuildingAddress is defined for this IfcBuilding - bool hasBuildingAddress() const; + boost::optional< double > ElevationOfTerrain() const; + void setElevationOfTerrain(boost::optional< double > v); /// Address given to the building for postal purposes. ::Ifc4x3_rc4::IfcPostalAddress* BuildingAddress() const; void setBuildingAddress(::Ifc4x3_rc4::IfcPostalAddress* v); @@ -38724,7 +37272,7 @@ public: static const IfcParse::entity& Class(); IfcBuilding (IfcEntityInstanceData* e); IfcBuilding (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, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc4::IfcPostalAddress* v12_BuildingAddress); - typedef IfcTemplatedEntityList< IfcBuilding > list; + typedef aggregate_of< IfcBuilding > list; }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -38745,16 +37293,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBuildingElementPart - bool hasPredefinedType() const; /// Subtype of building element part - ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBuildingElementPart (IfcEntityInstanceData* e); IfcBuildingElementPart (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::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcBuildingElementPart > list; + typedef aggregate_of< IfcBuildingElementPart > list; }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -38768,8 +37314,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBuildingElementPartType (IfcEntityInstanceData* e); - IfcBuildingElementPartType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcBuildingElementPartType > list; + IfcBuildingElementPartType (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::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcBuildingElementPartType > list; }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -38813,8 +37359,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBuildingElementProxyType (IfcEntityInstanceData* e); - IfcBuildingElementProxyType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcBuildingElementProxyType > list; + IfcBuildingElementProxyType (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::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcBuildingElementProxyType > list; }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -38854,20 +37400,16 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBuildingSystem - bool hasPredefinedType() const; /// Predefined types of distribution systems. - ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value v); - /// Whether the optional attribute LongName is defined for this IfcBuildingSystem - bool hasLongName() const; - std::string LongName() const; - void setLongName(std::string v); + boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v); + boost::optional< std::string > LongName() const; + void setLongName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBuildingSystem (IfcEntityInstanceData* e); IfcBuildingSystem (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< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName); - typedef IfcTemplatedEntityList< IfcBuildingSystem > list; + typedef aggregate_of< IfcBuildingSystem > list; }; class IFC_PARSE_API IfcBuiltElement : public IfcElement { @@ -38876,24 +37418,20 @@ public: static const IfcParse::entity& Class(); IfcBuiltElement (IfcEntityInstanceData* e); IfcBuiltElement (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); - typedef IfcTemplatedEntityList< IfcBuiltElement > list; + typedef aggregate_of< IfcBuiltElement > list; }; class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBuiltSystem - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value v); - /// Whether the optional attribute LongName is defined for this IfcBuiltSystem - bool hasLongName() const; - std::string LongName() const; - void setLongName(std::string v); + boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v); + boost::optional< std::string > LongName() const; + void setLongName(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBuiltSystem (IfcEntityInstanceData* e); IfcBuiltSystem (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< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName); - typedef IfcTemplatedEntityList< IfcBuiltSystem > list; + typedef aggregate_of< IfcBuiltSystem > list; }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -38929,8 +37467,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBurnerType (IfcEntityInstanceData* e); - IfcBurnerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcBurnerType > list; + IfcBurnerType (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::IfcBurnerTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcBurnerType > list; }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -38966,8 +37504,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCableCarrierFittingType (IfcEntityInstanceData* e); - IfcCableCarrierFittingType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCableCarrierFittingType > list; + IfcCableCarrierFittingType (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::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCableCarrierFittingType > list; }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -39009,8 +37547,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCableCarrierSegmentType (IfcEntityInstanceData* e); - IfcCableCarrierSegmentType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCableCarrierSegmentType > list; + IfcCableCarrierSegmentType (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::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCableCarrierSegmentType > list; }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -39048,8 +37586,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCableFittingType (IfcEntityInstanceData* e); - IfcCableFittingType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCableFittingType > list; + IfcCableFittingType (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::IfcCableFittingTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCableFittingType > list; }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -39100,8 +37638,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCableSegmentType (IfcEntityInstanceData* e); - IfcCableSegmentType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCableSegmentType > list; + IfcCableSegmentType (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::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCableSegmentType > list; }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { @@ -39111,8 +37649,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCaissonFoundationType (IfcEntityInstanceData* e); - IfcCaissonFoundationType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCaissonFoundationType > list; + IfcCaissonFoundationType (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::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCaissonFoundationType > list; }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -39154,8 +37692,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcChillerType (IfcEntityInstanceData* e); - IfcChillerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChillerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcChillerType > list; + IfcChillerType (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::IfcChillerTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcChillerType > list; }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -39200,17 +37738,15 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcChimney - bool hasPredefinedType() const; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. - ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcChimney (IfcEntityInstanceData* e); IfcChimney (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::IfcChimneyTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcChimney > list; + typedef aggregate_of< IfcChimney > list; }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -39248,7 +37784,7 @@ public: static const IfcParse::entity& Class(); IfcCircle (IfcEntityInstanceData* e); IfcCircle (::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_Radius); - typedef IfcTemplatedEntityList< IfcCircle > list; + typedef aggregate_of< IfcCircle > list; }; class IFC_PARSE_API IfcCivilElement : public IfcElement { @@ -39257,7 +37793,7 @@ public: static const IfcParse::entity& Class(); IfcCivilElement (IfcEntityInstanceData* e); IfcCivilElement (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); - typedef IfcTemplatedEntityList< IfcCivilElement > list; + typedef aggregate_of< IfcCivilElement > list; }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -39294,8 +37830,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCoilType (IfcEntityInstanceData* e); - IfcCoilType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoilTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCoilType > list; + IfcCoilType (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::IfcCoilTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCoilType > list; }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -39570,19 +38106,17 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcColumn - bool hasPredefinedType() const; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcColumnTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcColumnTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcColumn (IfcEntityInstanceData* e); IfcColumn (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::IfcColumnTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcColumn > list; + typedef aggregate_of< IfcColumn > list; }; /// The standard column, /// IfcColumnStandardCase, defines a column with certain @@ -39835,7 +38369,7 @@ public: static const IfcParse::entity& Class(); IfcColumnStandardCase (IfcEntityInstanceData* e); IfcColumnStandardCase (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::IfcColumnTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcColumnStandardCase > list; + typedef aggregate_of< IfcColumnStandardCase > list; }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -39877,8 +38411,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCommunicationsApplianceType (IfcEntityInstanceData* e); - IfcCommunicationsApplianceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCommunicationsApplianceType > list; + IfcCommunicationsApplianceType (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::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCommunicationsApplianceType > list; }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -39915,8 +38449,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCompressorType (IfcEntityInstanceData* e); - IfcCompressorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCompressorType > list; + IfcCompressorType (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::IfcCompressorTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCompressorType > list; }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -39953,8 +38487,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCondenserType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCondenserType > list; + 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); + typedef aggregate_of< IfcCondenserType > list; }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -39980,17 +38514,15 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcConstructionEquipmentResource - bool hasPredefinedType() const; /// Defines types of construction equipment resources. /// IFC2x4 New attribute - ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstructionEquipmentResource (IfcEntityInstanceData* e); - IfcConstructionEquipmentResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); - typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource > list; + IfcConstructionEquipmentResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + typedef aggregate_of< IfcConstructionEquipmentResource > list; }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -40020,17 +38552,15 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcConstructionMaterialResource - bool hasPredefinedType() const; /// Defines types of construction material resources. /// IFC2x4 New attribute - ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstructionMaterialResource (IfcEntityInstanceData* e); - IfcConstructionMaterialResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); - typedef IfcTemplatedEntityList< IfcConstructionMaterialResource > list; + IfcConstructionMaterialResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + typedef aggregate_of< IfcConstructionMaterialResource > list; }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -40049,17 +38579,15 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcConstructionProductResource - bool hasPredefinedType() const; /// Defines types of construction product resources. /// IFC2x4 New attribute - ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConstructionProductResource (IfcEntityInstanceData* e); - IfcConstructionProductResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); - typedef IfcTemplatedEntityList< IfcConstructionProductResource > list; + IfcConstructionProductResource (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, ::Ifc4x3_rc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + typedef aggregate_of< IfcConstructionProductResource > list; }; class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { @@ -40069,8 +38597,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConveyorSegmentType (IfcEntityInstanceData* e); - IfcConveyorSegmentType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcConveyorSegmentType > list; + IfcConveyorSegmentType (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::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcConveyorSegmentType > list; }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -40109,8 +38637,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCooledBeamType (IfcEntityInstanceData* e); - IfcCooledBeamType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCooledBeamType > list; + IfcCooledBeamType (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::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcCooledBeamType > list; }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -40153,21 +38681,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCoolingTowerType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcCoolingTowerType > list; + 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); + typedef aggregate_of< IfcCoolingTowerType > list; }; class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCourse - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcCourseTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCourseTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCourse (IfcEntityInstanceData* e); IfcCourse (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::IfcCourseTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCourse > list; + typedef aggregate_of< IfcCourse > list; }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -40395,18 +38921,16 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCovering - bool hasPredefinedType() const; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. - ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v); - IfcTemplatedEntityList< IfcRelCoversSpaces >::ptr CoversSpaces() const; // INVERSE IfcRelCoversSpaces::RelatedCoverings - IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings + boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > v); + aggregate_of< IfcRelCoversSpaces >::ptr CoversSpaces() const; // INVERSE IfcRelCoversSpaces::RelatedCoverings + aggregate_of< IfcRelCoversBldgElements >::ptr CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCovering (IfcEntityInstanceData* e); IfcCovering (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::IfcCoveringTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCovering > list; + typedef aggregate_of< IfcCovering > list; }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -40548,19 +39072,17 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCurtainWall - bool hasPredefinedType() const; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCurtainWall (IfcEntityInstanceData* e); IfcCurtainWall (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::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCurtainWall > list; + typedef aggregate_of< IfcCurtainWall > list; }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -40604,8 +39126,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDamperType (IfcEntityInstanceData* e); - IfcDamperType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDamperTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcDamperType > list; + IfcDamperType (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::IfcDamperTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcDamperType > list; }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { @@ -40614,7 +39136,7 @@ public: static const IfcParse::entity& Class(); IfcDeepFoundation (IfcEntityInstanceData* e); IfcDeepFoundation (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); - typedef IfcTemplatedEntityList< IfcDeepFoundation > list; + typedef aggregate_of< IfcDeepFoundation > list; }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -40791,16 +39313,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDiscreteAccessory - bool hasPredefinedType() const; /// Subtype of discrete accessory - ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDiscreteAccessory (IfcEntityInstanceData* e); IfcDiscreteAccessory (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::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcDiscreteAccessory > list; + typedef aggregate_of< IfcDiscreteAccessory > list; }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -40998,8 +39518,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDiscreteAccessoryType (IfcEntityInstanceData* e); - IfcDiscreteAccessoryType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcDiscreteAccessoryType > list; + IfcDiscreteAccessoryType (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::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcDiscreteAccessoryType > list; }; class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { @@ -41009,8 +39529,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionBoardType (IfcEntityInstanceData* e); - IfcDistributionBoardType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcDistributionBoardType > list; + IfcDistributionBoardType (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::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcDistributionBoardType > list; }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -41057,8 +39577,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionChamberElementType (IfcEntityInstanceData* e); - IfcDistributionChamberElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcDistributionChamberElementType > list; + IfcDistributionChamberElementType (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::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcDistributionChamberElementType > list; }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -41119,8 +39639,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionControlElementType (IfcEntityInstanceData* e); - IfcDistributionControlElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); - typedef IfcTemplatedEntityList< IfcDistributionControlElementType > list; + IfcDistributionControlElementType (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); + typedef aggregate_of< IfcDistributionControlElementType > list; }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -41286,12 +39806,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcTemplatedEntityList< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement + aggregate_of< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionElement (IfcEntityInstanceData* e); IfcDistributionElement (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); - typedef IfcTemplatedEntityList< IfcDistributionElement > list; + typedef aggregate_of< IfcDistributionElement > list; }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -41363,12 +39883,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcTemplatedEntityList< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement + aggregate_of< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionFlowElement (IfcEntityInstanceData* e); IfcDistributionFlowElement (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); - typedef IfcTemplatedEntityList< IfcDistributionFlowElement > list; + typedef aggregate_of< IfcDistributionFlowElement > list; }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -41454,25 +39974,19 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - /// Whether the optional attribute FlowDirection is defined for this IfcDistributionPort - bool hasFlowDirection() const; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. - ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value FlowDirection() const; - void setFlowDirection(::Ifc4x3_rc4::IfcFlowDirectionEnum::Value v); - /// Whether the optional attribute PredefinedType is defined for this IfcDistributionPort - bool hasPredefinedType() const; + boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > FlowDirection() const; + void setFlowDirection(boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > v); /// Enumeration that identifies the system type. If a system type is defined, the port may only be connected to other ports having the same system type. - ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value v); - /// Whether the optional attribute SystemType is defined for this IfcDistributionPort - bool hasSystemType() const; - ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value SystemType() const; - void setSystemType(::Ifc4x3_rc4::IfcDistributionSystemEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v); + boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > SystemType() const; + void setSystemType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionPort (IfcEntityInstanceData* e); IfcDistributionPort (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::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v10_SystemType); - typedef IfcTemplatedEntityList< IfcDistributionPort > list; + typedef aggregate_of< IfcDistributionPort > list; }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -41516,23 +40030,19 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - /// Whether the optional attribute LongName is defined for this IfcDistributionSystem - bool hasLongName() const; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// /// NOTE In many scenarios the Name attribute refers to the short name or number of a distribution system or branch circuit, and the LongName refers to a descriptive name. - std::string LongName() const; - void setLongName(std::string v); - /// Whether the optional attribute PredefinedType is defined for this IfcDistributionSystem - bool hasPredefinedType() const; + boost::optional< std::string > LongName() const; + void setLongName(boost::optional< std::string > v); /// Predefined types of distribution systems. - ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDistributionSystemEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionSystem (IfcEntityInstanceData* e); IfcDistributionSystem (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_LongName, boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); - typedef IfcTemplatedEntityList< IfcDistributionSystem > list; + typedef aggregate_of< IfcDistributionSystem > list; }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -41892,46 +40402,36 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: - /// Whether the optional attribute OverallHeight is defined for this IfcDoor - bool hasOverallHeight() const; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// /// NOTE  The body of the door might be taller then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallHeight shall still be given as the door opening height, and not as the total height of the door lining. - double OverallHeight() const; - void setOverallHeight(double v); - /// Whether the optional attribute OverallWidth is defined for this IfcDoor - bool hasOverallWidth() const; + boost::optional< double > OverallHeight() const; + void setOverallHeight(boost::optional< double > v); /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// /// NOTE  The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining. - double OverallWidth() const; - void setOverallWidth(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcDoor - bool hasPredefinedType() const; + boost::optional< double > OverallWidth() const; + void setOverallWidth(boost::optional< double > v); /// Predefined generic type for a door that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcDoorType is assigned, providing its own IfcDoorType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcDoorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDoorTypeEnum::Value v); - /// Whether the optional attribute OperationType is defined for this IfcDoor - bool hasOperationType() const; + boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v); /// Type defining the general layout and operation of the door type in terms of the partitioning of panels and panel operations. /// /// NOTE The OperationType shall only be used, if no type object IfcDoorType is assigned, providing its own IfcDoorType.OperationType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value OperationType() const; - void setOperationType(::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v); - /// Whether the optional attribute UserDefinedOperationType is defined for this IfcDoor - bool hasUserDefinedOperationType() const; - std::string UserDefinedOperationType() const; - void setUserDefinedOperationType(std::string v); + boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > OperationType() const; + void setOperationType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v); + boost::optional< std::string > UserDefinedOperationType() const; + void setUserDefinedOperationType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDoor (IfcEntityInstanceData* e); IfcDoor (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< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType); - typedef IfcTemplatedEntityList< IfcDoor > list; + typedef aggregate_of< IfcDoor > list; }; /// The standard door, /// IfcDoorStandardCase, defines a door with certain constraints @@ -42043,7 +40543,7 @@ public: static const IfcParse::entity& Class(); IfcDoorStandardCase (IfcEntityInstanceData* e); IfcDoorStandardCase (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< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType); - typedef IfcTemplatedEntityList< IfcDoorStandardCase > list; + typedef aggregate_of< IfcDoorStandardCase > list; }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -42082,8 +40582,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDuctFittingType (IfcEntityInstanceData* e); - IfcDuctFittingType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcDuctFittingType > list; + IfcDuctFittingType (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::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcDuctFittingType > list; }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -42122,8 +40622,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDuctSegmentType (IfcEntityInstanceData* e); - IfcDuctSegmentType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcDuctSegmentType > list; + IfcDuctSegmentType (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::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcDuctSegmentType > list; }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -42159,21 +40659,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDuctSilencerType (IfcEntityInstanceData* e); - IfcDuctSilencerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcDuctSilencerType > list; + IfcDuctSilencerType (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::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcDuctSilencerType > list; }; class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEarthworksCut - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEarthworksCut (IfcEntityInstanceData* e); IfcEarthworksCut (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::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcEarthworksCut > list; + typedef aggregate_of< IfcEarthworksCut > list; }; class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { @@ -42182,20 +40680,18 @@ public: static const IfcParse::entity& Class(); IfcEarthworksElement (IfcEntityInstanceData* e); IfcEarthworksElement (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); - typedef IfcTemplatedEntityList< IfcEarthworksElement > list; + typedef aggregate_of< IfcEarthworksElement > list; }; class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEarthworksFill - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEarthworksFill (IfcEntityInstanceData* e); 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); - typedef IfcTemplatedEntityList< IfcEarthworksFill > list; + typedef aggregate_of< IfcEarthworksFill > list; }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -42234,8 +40730,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricApplianceType (IfcEntityInstanceData* e); - IfcElectricApplianceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricApplianceType > list; + IfcElectricApplianceType (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::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcElectricApplianceType > list; }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -42272,8 +40768,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricDistributionBoardType (IfcEntityInstanceData* e); - IfcElectricDistributionBoardType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricDistributionBoardType > list; + IfcElectricDistributionBoardType (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::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcElectricDistributionBoardType > list; }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -42310,8 +40806,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricFlowStorageDeviceType (IfcEntityInstanceData* e); - IfcElectricFlowStorageDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType > list; + IfcElectricFlowStorageDeviceType (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::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcElectricFlowStorageDeviceType > list; }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { @@ -42321,8 +40817,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricFlowTreatmentDeviceType (IfcEntityInstanceData* e); - IfcElectricFlowTreatmentDeviceType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricFlowTreatmentDeviceType > list; + IfcElectricFlowTreatmentDeviceType (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::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcElectricFlowTreatmentDeviceType > list; }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -42364,8 +40860,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricGeneratorType (IfcEntityInstanceData* e); - IfcElectricGeneratorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricGeneratorType > list; + IfcElectricGeneratorType (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::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcElectricGeneratorType > list; }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -42402,8 +40898,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricMotorType (IfcEntityInstanceData* e); - IfcElectricMotorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricMotorType > list; + IfcElectricMotorType (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::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcElectricMotorType > list; }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -42440,8 +40936,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricTimeControlType (IfcEntityInstanceData* e); - IfcElectricTimeControlType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricTimeControlType > list; + IfcElectricTimeControlType (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::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcElectricTimeControlType > list; }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -42458,7 +40954,7 @@ public: static const IfcParse::entity& Class(); IfcEnergyConversionDevice (IfcEntityInstanceData* e); IfcEnergyConversionDevice (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); - typedef IfcTemplatedEntityList< IfcEnergyConversionDevice > list; + typedef aggregate_of< IfcEnergyConversionDevice > list; }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -42503,15 +40999,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEngine - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcEngineTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcEngineTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEngine (IfcEntityInstanceData* e); IfcEngine (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::IfcEngineTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcEngine > list; + typedef aggregate_of< IfcEngine > list; }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -42559,15 +41053,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEvaporativeCooler - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEvaporativeCooler (IfcEntityInstanceData* e); IfcEvaporativeCooler (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::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcEvaporativeCooler > list; + typedef aggregate_of< IfcEvaporativeCooler > list; }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -42635,15 +41127,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEvaporator - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcEvaporator (IfcEntityInstanceData* e); IfcEvaporator (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::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcEvaporator > list; + typedef aggregate_of< IfcEvaporator > list; }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -42662,17 +41152,15 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcExternalSpatialElement - bool hasPredefinedType() const; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. - ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value v); - IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace + boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > v); + aggregate_of< IfcRelSpaceBoundary >::ptr BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalSpatialElement (IfcEntityInstanceData* e); IfcExternalSpatialElement (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::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcExternalSpatialElement > list; + typedef aggregate_of< IfcExternalSpatialElement > list; }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -42710,8 +41198,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFanType (IfcEntityInstanceData* e); - IfcFanType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFanTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcFanType > list; + IfcFanType (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::IfcFanTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcFanType > list; }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -42750,8 +41238,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFilterType (IfcEntityInstanceData* e); - IfcFilterType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFilterTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcFilterType > list; + IfcFilterType (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::IfcFilterTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcFilterType > list; }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -42794,8 +41282,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFireSuppressionTerminalType (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcFireSuppressionTerminalType > list; + 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); + typedef aggregate_of< IfcFireSuppressionTerminalType > list; }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -42812,7 +41300,7 @@ public: static const IfcParse::entity& Class(); IfcFlowController (IfcEntityInstanceData* e); IfcFlowController (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); - typedef IfcTemplatedEntityList< IfcFlowController > list; + typedef aggregate_of< IfcFlowController > list; }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -42825,7 +41313,7 @@ public: static const IfcParse::entity& Class(); IfcFlowFitting (IfcEntityInstanceData* e); IfcFlowFitting (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); - typedef IfcTemplatedEntityList< IfcFlowFitting > list; + typedef aggregate_of< IfcFlowFitting > list; }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -42865,8 +41353,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowInstrumentType (IfcEntityInstanceData* e); - IfcFlowInstrumentType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcFlowInstrumentType > list; + IfcFlowInstrumentType (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::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcFlowInstrumentType > list; }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -42950,15 +41438,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFlowMeter - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowMeter (IfcEntityInstanceData* e); IfcFlowMeter (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::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcFlowMeter > list; + typedef aggregate_of< IfcFlowMeter > list; }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -42971,7 +41457,7 @@ public: static const IfcParse::entity& Class(); IfcFlowMovingDevice (IfcEntityInstanceData* e); IfcFlowMovingDevice (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); - typedef IfcTemplatedEntityList< IfcFlowMovingDevice > list; + typedef aggregate_of< IfcFlowMovingDevice > list; }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -43002,7 +41488,7 @@ public: static const IfcParse::entity& Class(); IfcFlowSegment (IfcEntityInstanceData* e); IfcFlowSegment (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); - typedef IfcTemplatedEntityList< IfcFlowSegment > list; + typedef aggregate_of< IfcFlowSegment > list; }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -43019,7 +41505,7 @@ public: static const IfcParse::entity& Class(); IfcFlowStorageDevice (IfcEntityInstanceData* e); IfcFlowStorageDevice (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); - typedef IfcTemplatedEntityList< IfcFlowStorageDevice > list; + typedef aggregate_of< IfcFlowStorageDevice > list; }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -43038,7 +41524,7 @@ public: static const IfcParse::entity& Class(); IfcFlowTerminal (IfcEntityInstanceData* e); IfcFlowTerminal (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); - typedef IfcTemplatedEntityList< IfcFlowTerminal > list; + typedef aggregate_of< IfcFlowTerminal > list; }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -43051,7 +41537,7 @@ public: static const IfcParse::entity& Class(); IfcFlowTreatmentDevice (IfcEntityInstanceData* e); IfcFlowTreatmentDevice (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); - typedef IfcTemplatedEntityList< IfcFlowTreatmentDevice > list; + typedef aggregate_of< IfcFlowTreatmentDevice > list; }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -43077,18 +41563,16 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFooting - bool hasPredefinedType() const; /// The generic type of the footing. /// /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcFootingType. - ::Ifc4x3_rc4::IfcFootingTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcFootingTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFooting (IfcEntityInstanceData* e); IfcFooting (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::IfcFootingTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcFooting > list; + typedef aggregate_of< IfcFooting > list; }; class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { @@ -43097,7 +41581,7 @@ public: static const IfcParse::entity& Class(); IfcGeotechnicalAssembly (IfcEntityInstanceData* e); IfcGeotechnicalAssembly (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); - typedef IfcTemplatedEntityList< IfcGeotechnicalAssembly > list; + typedef aggregate_of< IfcGeotechnicalAssembly > list; }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -43198,25 +41682,21 @@ public: class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: /// List of grid axes defining the first row of grid lines. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr UAxes() const; - void setUAxes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v); + aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr UAxes() const; + void setUAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v); /// List of grid axes defining the second row of grid lines. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr VAxes() const; - void setVAxes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v); - /// Whether the optional attribute WAxes is defined for this IfcGrid - bool hasWAxes() const; + aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr VAxes() const; + void setVAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v); /// List of grid axes defining the third row of grid lines. It may be given in the case of a triangular grid. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr WAxes() const; - void setWAxes(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v); - /// Whether the optional attribute PredefinedType is defined for this IfcGrid - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcGridTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcGridTypeEnum::Value v); + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > WAxes() const; + void setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > v); + boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGrid (IfcEntityInstanceData* e); - IfcGrid (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, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v11_PredefinedType); - typedef IfcTemplatedEntityList< IfcGrid > list; + IfcGrid (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, aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v11_PredefinedType); + typedef aggregate_of< IfcGrid > list; }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -43270,15 +41750,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcHeatExchanger - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcHeatExchanger (IfcEntityInstanceData* e); IfcHeatExchanger (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::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcHeatExchanger > list; + typedef aggregate_of< IfcHeatExchanger > list; }; /// A humidifier is a device that adds moisture into the air. /// @@ -43325,15 +41803,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcHumidifier - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcHumidifier (IfcEntityInstanceData* e); IfcHumidifier (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::IfcHumidifierTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcHumidifier > list; + typedef aggregate_of< IfcHumidifier > list; }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -43394,15 +41870,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcInterceptor - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcInterceptor (IfcEntityInstanceData* e); IfcInterceptor (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::IfcInterceptorTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcInterceptor > list; + typedef aggregate_of< IfcInterceptor > list; }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -43472,15 +41946,13 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcJunctionBox - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcJunctionBox (IfcEntityInstanceData* e); IfcJunctionBox (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::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcJunctionBox > list; + typedef aggregate_of< IfcJunctionBox > list; }; class IFC_PARSE_API IfcKerb : public IfcBuiltElement { @@ -43491,7 +41963,7 @@ public: static const IfcParse::entity& Class(); IfcKerb (IfcEntityInstanceData* e); IfcKerb (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, bool v9_Mountable); - typedef IfcTemplatedEntityList< IfcKerb > list; + typedef aggregate_of< IfcKerb > list; }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -43542,15 +42014,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcLamp - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcLampTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcLampTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLamp (IfcEntityInstanceData* e); IfcLamp (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::IfcLampTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcLamp > list; + typedef aggregate_of< IfcLamp > list; }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -43620,15 +42090,13 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcLightFixture - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLightFixture (IfcEntityInstanceData* e); IfcLightFixture (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::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcLightFixture > list; + typedef aggregate_of< IfcLightFixture > list; }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { @@ -43637,20 +42105,18 @@ public: static const IfcParse::entity& Class(); IfcLinearPositioningElement (IfcEntityInstanceData* e); IfcLinearPositioningElement (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); - typedef IfcTemplatedEntityList< IfcLinearPositioningElement > list; + typedef aggregate_of< IfcLinearPositioningElement > list; }; class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcLiquidTerminal - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcLiquidTerminal (IfcEntityInstanceData* e); IfcLiquidTerminal (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::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcLiquidTerminal > list; + typedef aggregate_of< IfcLiquidTerminal > list; }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -43698,15 +42164,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcMedicalDevice - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMedicalDevice (IfcEntityInstanceData* e); IfcMedicalDevice (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::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcMedicalDevice > list; + typedef aggregate_of< IfcMedicalDevice > list; }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -43960,19 +42424,17 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcMember - bool hasPredefinedType() const; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcMemberTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcMemberTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMember (IfcEntityInstanceData* e); IfcMember (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::IfcMemberTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcMember > list; + typedef aggregate_of< IfcMember > list; }; /// The standard member, /// IfcMemberStandardCase, defines a member with certain @@ -44219,33 +42681,29 @@ public: static const IfcParse::entity& Class(); IfcMemberStandardCase (IfcEntityInstanceData* e); IfcMemberStandardCase (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::IfcMemberTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcMemberStandardCase > list; + typedef aggregate_of< IfcMemberStandardCase > list; }; class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcMobileTelecommunicationsAppliance - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMobileTelecommunicationsAppliance (IfcEntityInstanceData* e); IfcMobileTelecommunicationsAppliance (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::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcMobileTelecommunicationsAppliance > list; + typedef aggregate_of< IfcMobileTelecommunicationsAppliance > list; }; class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcMooringDevice - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMooringDevice (IfcEntityInstanceData* e); IfcMooringDevice (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::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcMooringDevice > list; + typedef aggregate_of< IfcMooringDevice > list; }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -44290,28 +42748,24 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcMotorConnection - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMotorConnection (IfcEntityInstanceData* e); IfcMotorConnection (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::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcMotorConnection > list; + typedef aggregate_of< IfcMotorConnection > list; }; class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcNavigationElement - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcNavigationElement (IfcEntityInstanceData* e); IfcNavigationElement (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::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcNavigationElement > list; + typedef aggregate_of< IfcNavigationElement > list; }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -44323,8 +42777,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOuterBoundaryCurve (IfcEntityInstanceData* e); - IfcOuterBoundaryCurve (IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, bool v2_SelfIntersect); - typedef IfcTemplatedEntityList< IfcOuterBoundaryCurve > list; + IfcOuterBoundaryCurve (aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect); + typedef aggregate_of< IfcOuterBoundaryCurve > list; }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -44394,28 +42848,24 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcOutlet - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcOutletTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcOutletTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcOutlet (IfcEntityInstanceData* e); IfcOutlet (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::IfcOutletTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcOutlet > list; + typedef aggregate_of< IfcOutlet > list; }; class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPavement - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcPavementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcPavementTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPavement (IfcEntityInstanceData* e); IfcPavement (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::IfcPavementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcPavement > list; + typedef aggregate_of< IfcPavement > list; }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -44437,25 +42887,21 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPile - bool hasPredefinedType() const; /// The predefined generic type of the pile according to function. /// /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcPileType. - ::Ifc4x3_rc4::IfcPileTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcPileTypeEnum::Value v); - /// Whether the optional attribute ConstructionType is defined for this IfcPile - bool hasConstructionType() const; + boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > v); /// General designator for how the pile is constructed. /// /// IFC 2x4 change:  Material profile association capability by means of IfcRelAssociatesMaterial has been added. The attribute ConstructionType should not be used whenever its information can be provided by a material profile set, either associated with the IfcPile object or, if present, with a corresponding instance of IfcPileType. - ::Ifc4x3_rc4::IfcPileConstructionEnum::Value ConstructionType() const; - void setConstructionType(::Ifc4x3_rc4::IfcPileConstructionEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > ConstructionType() const; + void setConstructionType(boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPile (IfcEntityInstanceData* e); IfcPile (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::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v10_ConstructionType); - typedef IfcTemplatedEntityList< IfcPile > list; + typedef aggregate_of< IfcPile > list; }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -44544,15 +42990,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPipeFitting - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPipeFitting (IfcEntityInstanceData* e); IfcPipeFitting (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::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcPipeFitting > list; + typedef aggregate_of< IfcPipeFitting > list; }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -44616,15 +43060,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPipeSegment - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPipeSegment (IfcEntityInstanceData* e); IfcPipeSegment (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::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcPipeSegment > list; + typedef aggregate_of< IfcPipeSegment > list; }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -44856,19 +43298,17 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPlate - bool hasPredefinedType() const; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcPlateTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcPlateTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPlate (IfcEntityInstanceData* e); IfcPlate (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::IfcPlateTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcPlate > list; + typedef aggregate_of< IfcPlate > list; }; /// The standard plate, /// IfcPlateStandardCase, defines a plate with certain @@ -45029,7 +43469,7 @@ public: static const IfcParse::entity& Class(); IfcPlateStandardCase (IfcEntityInstanceData* e); IfcPlateStandardCase (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::IfcPlateTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcPlateStandardCase > list; + typedef aggregate_of< IfcPlateStandardCase > list; }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -45109,15 +43549,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProtectiveDevice - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProtectiveDevice (IfcEntityInstanceData* e); IfcProtectiveDevice (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::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcProtectiveDevice > list; + typedef aggregate_of< IfcProtectiveDevice > list; }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -45167,8 +43605,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProtectiveDeviceTrippingUnitType (IfcEntityInstanceData* e); - IfcProtectiveDeviceTrippingUnitType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnitType > list; + IfcProtectiveDeviceTrippingUnitType (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::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcProtectiveDeviceTrippingUnitType > list; }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -45221,28 +43659,24 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPump - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcPumpTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcPumpTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPump (IfcEntityInstanceData* e); IfcPump (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::IfcPumpTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcPump > list; + typedef aggregate_of< IfcPump > list; }; class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRail - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcRailTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcRailTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRail (IfcEntityInstanceData* e); IfcRail (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::IfcRailTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcRail > list; + typedef aggregate_of< IfcRail > list; }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -45378,18 +43812,16 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRailing - bool hasPredefinedType() const; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. /// IFC2x PLATFORM CHANGE: The attribute has been changed into an OPTIONAL attribute. - ::Ifc4x3_rc4::IfcRailingTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcRailingTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRailing (IfcEntityInstanceData* e); IfcRailing (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::IfcRailingTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcRailing > list; + typedef aggregate_of< IfcRailing > list; }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -45526,20 +43958,18 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRamp - bool hasPredefinedType() const; /// Predefined shape types for a ramp that are specified in an enumeration. /// /// NOTE The PredefinedType shall only be used, if no type object IfcRampType is assigned, providing its own IfcRampType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been renamed from ShapeType and changed to be OPTIONAL with upward compatibility for file based exchange. - ::Ifc4x3_rc4::IfcRampTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcRampTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRamp (IfcEntityInstanceData* e); IfcRamp (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::IfcRampTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcRamp > list; + typedef aggregate_of< IfcRamp > list; }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -45731,19 +44161,17 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRampFlight - bool hasPredefinedType() const; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRampFlight (IfcEntityInstanceData* e); IfcRampFlight (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::IfcRampFlightTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcRampFlight > list; + typedef aggregate_of< IfcRampFlight > list; }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -45789,21 +44217,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRationalBSplineCurveWithKnots (IfcEntityInstanceData* e); - IfcRationalBSplineCurveWithKnots (int v1_Degree, IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); - typedef IfcTemplatedEntityList< IfcRationalBSplineCurveWithKnots > list; + IfcRationalBSplineCurveWithKnots (int v1_Degree, aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + typedef aggregate_of< IfcRationalBSplineCurveWithKnots > list; }; class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcReinforcedSoil - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcedSoil (IfcEntityInstanceData* e); IfcReinforcedSoil (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::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcReinforcedSoil > list; + typedef aggregate_of< IfcReinforcedSoil > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -45835,32 +44261,22 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - /// Whether the optional attribute NominalDiameter is defined for this IfcReinforcingBar - bool hasNominalDiameter() const; - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute CrossSectionArea is defined for this IfcReinforcingBar - bool hasCrossSectionArea() const; - double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute BarLength is defined for this IfcReinforcingBar - bool hasBarLength() const; - double BarLength() const; - void setBarLength(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcReinforcingBar - bool hasPredefinedType() const; + boost::optional< double > NominalDiameter() const; + void setNominalDiameter(boost::optional< double > v); + boost::optional< double > CrossSectionArea() const; + void setCrossSectionArea(boost::optional< double > v); + boost::optional< double > BarLength() const; + void setBarLength(boost::optional< double > v); /// The predefined type is always BAR. - ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v); - /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBar - bool hasBarSurface() const; - ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value BarSurface() const; - void setBarSurface(::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v); + boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > BarSurface() const; + void setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBar (IfcEntityInstanceData* e); IfcReinforcingBar (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< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); - typedef IfcTemplatedEntityList< IfcReinforcingBar > list; + typedef aggregate_of< IfcReinforcingBar > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -45883,39 +44299,27 @@ public: /// The predefined type is always BAR. ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v); - /// Whether the optional attribute NominalDiameter is defined for this IfcReinforcingBarType - bool hasNominalDiameter() const; /// The nominal diameter defining the cross-section size of the reinforcing bar. - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute CrossSectionArea is defined for this IfcReinforcingBarType - bool hasCrossSectionArea() const; + boost::optional< double > NominalDiameter() const; + void setNominalDiameter(boost::optional< double > v); /// The effective cross-section area of the reinforcing bar. - double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute BarLength is defined for this IfcReinforcingBarType - bool hasBarLength() const; + boost::optional< double > CrossSectionArea() const; + void setCrossSectionArea(boost::optional< double > v); /// The total length of the reinforcing bar. The total length of bended bars are calculated according to local standards with corrections for the bends. - double BarLength() const; - void setBarLength(double v); - /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBarType - bool hasBarSurface() const; + boost::optional< double > BarLength() const; + void setBarLength(boost::optional< double > v); /// Indicator for whether the bar surface is plain or textured. - ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value BarSurface() const; - void setBarSurface(::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value v); - /// Whether the optional attribute BendingShapeCode is defined for this IfcReinforcingBarType - bool hasBendingShapeCode() const; - std::string BendingShapeCode() const; - void setBendingShapeCode(std::string v); - /// Whether the optional attribute BendingParameters is defined for this IfcReinforcingBarType - bool hasBendingParameters() const; - IfcEntityList::ptr BendingParameters() const; - void setBendingParameters(IfcEntityList::ptr v); + boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > BarSurface() const; + void setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v); + boost::optional< std::string > BendingShapeCode() const; + void setBendingShapeCode(boost::optional< std::string > v); + boost::optional< aggregate_of_instance::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters); - typedef IfcTemplatedEntityList< IfcReinforcingBarType > list; + IfcReinforcingBarType (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::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -46064,18 +44468,16 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRoof - bool hasPredefinedType() const; /// Predefined shape types for a roof that are specified in an enumeration. /// /// IFC2x4 CHANGE The attribute has been renamed from ShapeType and changed to be OPTIONAL with upward compatibility for file based exchange. - ::Ifc4x3_rc4::IfcRoofTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcRoofTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRoof (IfcEntityInstanceData* e); IfcRoof (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::IfcRoofTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcRoof > list; + typedef aggregate_of< IfcRoof > list; }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -46205,15 +44607,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSanitaryTerminal - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSanitaryTerminal (IfcEntityInstanceData* e); IfcSanitaryTerminal (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::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSanitaryTerminal > list; + typedef aggregate_of< IfcSanitaryTerminal > list; }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -46271,8 +44671,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSensorType (IfcEntityInstanceData* e); - IfcSensorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSensorTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcSensorType > list; + IfcSensorType (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::IfcSensorTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcSensorType > list; }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -46290,30 +44690,26 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcShadingDevice - bool hasPredefinedType() const; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. - ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShadingDevice (IfcEntityInstanceData* e); IfcShadingDevice (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::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcShadingDevice > list; + typedef aggregate_of< IfcShadingDevice > list; }; class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSignal - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcSignalTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSignalTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSignal (IfcEntityInstanceData* e); IfcSignal (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::IfcSignalTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSignal > list; + typedef aggregate_of< IfcSignal > list; }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -46577,19 +44973,17 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSlab - bool hasPredefinedType() const; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. /// /// FC2x PLATFORM CHANGE: The attribute has been changed into an OPTIONAL attribute. - ::Ifc4x3_rc4::IfcSlabTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSlabTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSlab (IfcEntityInstanceData* e); IfcSlab (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::IfcSlabTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSlab > list; + typedef aggregate_of< IfcSlab > list; }; /// The IfcSlabElementedCase /// defines a slab with certain constraints for the provision of its @@ -46680,7 +45074,7 @@ public: static const IfcParse::entity& Class(); IfcSlabElementedCase (IfcEntityInstanceData* e); IfcSlabElementedCase (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::IfcSlabTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSlabElementedCase > list; + typedef aggregate_of< IfcSlabElementedCase > list; }; /// The standard slab, /// IfcSlabStandardCase, defines a slab with certain constraints @@ -46847,7 +45241,7 @@ public: static const IfcParse::entity& Class(); IfcSlabStandardCase (IfcEntityInstanceData* e); IfcSlabStandardCase (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::IfcSlabTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSlabStandardCase > list; + typedef aggregate_of< IfcSlabStandardCase > list; }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -46898,15 +45292,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSolarDevice - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSolarDevice (IfcEntityInstanceData* e); IfcSolarDevice (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::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSolarDevice > list; + typedef aggregate_of< IfcSolarDevice > list; }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -46972,15 +45364,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSpaceHeater - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSpaceHeater (IfcEntityInstanceData* e); IfcSpaceHeater (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::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSpaceHeater > list; + typedef aggregate_of< IfcSpaceHeater > list; }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -47034,15 +45424,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcStackTerminal - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStackTerminal (IfcEntityInstanceData* e); IfcStackTerminal (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::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcStackTerminal > list; + typedef aggregate_of< IfcStackTerminal > list; }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -47211,18 +45599,16 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcStair - bool hasPredefinedType() const; /// Predefined shape types for a stair that are specified in an enumeration. /// /// IFC2x4 CHANGE The attribute has been renamed from ShapeType and changed to be OPTIONAL with upward compatibility for file based exchange. - ::Ifc4x3_rc4::IfcStairTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcStairTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStair (IfcEntityInstanceData* e); IfcStair (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::IfcStairTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcStair > list; + typedef aggregate_of< IfcStair > list; }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -47393,44 +45779,34 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: - /// Whether the optional attribute NumberOfRisers is defined for this IfcStairFlight - bool hasNumberOfRisers() const; - int NumberOfRisers() const; - void setNumberOfRisers(int v); - /// Whether the optional attribute NumberOfTreads is defined for this IfcStairFlight - bool hasNumberOfTreads() const; + boost::optional< int > NumberOfRisers() const; + void setNumberOfRisers(boost::optional< int > v); /// Number of treads included in the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.NumberOfTreads instead. - int NumberOfTreads() const; - void setNumberOfTreads(int v); - /// Whether the optional attribute RiserHeight is defined for this IfcStairFlight - bool hasRiserHeight() const; + boost::optional< int > NumberOfTreads() const; + void setNumberOfTreads(boost::optional< int > v); /// Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.RiserHeight instead. - double RiserHeight() const; - void setRiserHeight(double v); - /// Whether the optional attribute TreadLength is defined for this IfcStairFlight - bool hasTreadLength() const; + boost::optional< double > RiserHeight() const; + void setRiserHeight(boost::optional< double > v); /// Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.TreadLength instead. - double TreadLength() const; - void setTreadLength(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcStairFlight - bool hasPredefinedType() const; + boost::optional< double > TreadLength() const; + void setTreadLength(boost::optional< double > v); /// Predefined generic type for a stair flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcStairFlightType is assigned, providing its own IfcStairFlightType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStairFlight (IfcEntityInstanceData* e); IfcStairFlight (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< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType); - typedef IfcTemplatedEntityList< IfcStairFlight > list; + typedef aggregate_of< IfcStairFlight > list; }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -47460,8 +45836,6 @@ public: /// Defines the type of the structural analysis model. ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value PredefinedType() const; void setPredefinedType(::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value v); - /// Whether the optional attribute OrientationOf2DPlane is defined for this IfcStructuralAnalysisModel - bool hasOrientationOf2DPlane() const; /// If the selected model type (PredefinedType) describes a 2D system, the orientation defines /// the analysis plane (P[1], P[2]) and the normal to the analysis plane (P[3]). This is needed because /// structural items and activities are always defined in three-dimensional space even if they are @@ -47474,18 +45848,12 @@ public: /// In case of predefined type LOADING_3D, OrientationOf2DPlane shall be omitted. ::Ifc4x3_rc4::IfcAxis2Placement3D* OrientationOf2DPlane() const; void setOrientationOf2DPlane(::Ifc4x3_rc4::IfcAxis2Placement3D* v); - /// Whether the optional attribute LoadedBy is defined for this IfcStructuralAnalysisModel - bool hasLoadedBy() const; /// References to all load groups to be analyzed. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr LoadedBy() const; - void setLoadedBy(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr v); - /// Whether the optional attribute HasResults is defined for this IfcStructuralAnalysisModel - bool hasHasResults() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > LoadedBy() const; + void setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > v); /// References to all result groups available for this structural analysis model. - IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr HasResults() const; - void setHasResults(IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr v); - /// Whether the optional attribute SharedPlacement is defined for this IfcStructuralAnalysisModel - bool hasSharedPlacement() const; + boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > HasResults() const; + void setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > v); /// Object placement which shall be common to all items and activities which are grouped into this instance of IfcStructuralAnalysisModel. This placement establishes a coordinate system which is referred to as 'global coordinate system' in use definitions of various classes of structural items and activities. /// /// NOTE  Most commonly, but not necessarily, the SharedPlacement is an IfcLocalPlacement whose z axis is parallel with the z axis of the IfcProject's world coordinate system and directed like the WCS z axis (i.e. pointing "upwards") or directed against the WCS z axis (i.e. points "downwards"). @@ -47496,28 +45864,26 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralAnalysisModel (IfcEntityInstanceData* e); - 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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc4::IfcObjectPlacement* v10_SharedPlacement); - typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel > list; + 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); + typedef aggregate_of< IfcStructuralAnalysisModel > list; }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - /// Whether the optional attribute SelfWeightCoefficients is defined for this IfcStructuralLoadCase - bool hasSelfWeightCoefficients() const; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// /// The three components of the self weight vector correspond with the x,y,z directions of the so-called global coordinates, i.e. the directions of the shared ObjectPlacement of all items in an IfcStructuralAnalysisModel. For example, if the object placement defines a z axis which is upright like the IfcProject's world coordinate system, then the self weight coefficients would typically be [0.,0.,-1.] in a load case of dead loads with self weight. /// /// The overall coefficient in the inherited attribute Coefficient shall not be applied to SelfWeightCoefficients of the same instance of IfcStructuralLoadCase. It only applies to actions and load groups which are grouped below the load case, not to the load case's computed self weight. - std::vector< double > /*[3:3]*/ SelfWeightCoefficients() const; - void setSelfWeightCoefficients(std::vector< double > /*[3:3]*/ v); + boost::optional< std::vector< double > /*[3:3]*/ > SelfWeightCoefficients() const; + void setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcStructuralLoadCase (IfcEntityInstanceData* e); IfcStructuralLoadCase (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::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose, boost::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); - typedef IfcTemplatedEntityList< IfcStructuralLoadCase > list; + typedef aggregate_of< IfcStructuralLoadCase > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -47532,7 +45898,7 @@ public: static const IfcParse::entity& Class(); IfcStructuralPlanarAction (IfcEntityInstanceData* e); IfcStructuralPlanarAction (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::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); - typedef IfcTemplatedEntityList< IfcStructuralPlanarAction > list; + typedef aggregate_of< IfcStructuralPlanarAction > list; }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -47624,15 +45990,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSwitchingDevice - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSwitchingDevice (IfcEntityInstanceData* e); IfcSwitchingDevice (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::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSwitchingDevice > list; + typedef aggregate_of< IfcSwitchingDevice > list; }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -47696,28 +46060,24 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTank - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcTankTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcTankTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTank (IfcEntityInstanceData* e); IfcTank (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::IfcTankTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcTank > list; + typedef aggregate_of< IfcTank > list; }; class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTrackElement - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrackElement (IfcEntityInstanceData* e); IfcTrackElement (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::IfcTrackElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcTrackElement > list; + typedef aggregate_of< IfcTrackElement > list; }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -47763,15 +46123,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTransformer - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTransformer (IfcEntityInstanceData* e); IfcTransformer (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::IfcTransformerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcTransformer > list; + typedef aggregate_of< IfcTransformer > list; }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -47822,15 +46180,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTubeBundle - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTubeBundle (IfcEntityInstanceData* e); IfcTubeBundle (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::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcTubeBundle > list; + typedef aggregate_of< IfcTubeBundle > list; }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -47866,8 +46222,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitaryControlElementType (IfcEntityInstanceData* e); - IfcUnitaryControlElementType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcUnitaryControlElementType > list; + IfcUnitaryControlElementType (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::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcUnitaryControlElementType > list; }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -47943,15 +46299,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryEquipment - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitaryEquipment (IfcEntityInstanceData* e); IfcUnitaryEquipment (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::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcUnitaryEquipment > list; + typedef aggregate_of< IfcUnitaryEquipment > list; }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -48141,15 +46495,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcValve - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcValveTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcValveTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcValve (IfcEntityInstanceData* e); IfcValve (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::IfcValveTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcValve > list; + typedef aggregate_of< IfcValve > list; }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -48395,19 +46747,17 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcWall - bool hasPredefinedType() const; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcWallTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcWallTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWall (IfcEntityInstanceData* e); IfcWall (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::IfcWallTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcWall > list; + typedef aggregate_of< IfcWall > list; }; /// The IfcWallElementedCase /// defines a wall with certain constraints for the provision of its @@ -48513,7 +46863,7 @@ public: static const IfcParse::entity& Class(); IfcWallElementedCase (IfcEntityInstanceData* e); IfcWallElementedCase (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::IfcWallTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcWallElementedCase > list; + typedef aggregate_of< IfcWallElementedCase > list; }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -48723,7 +47073,7 @@ public: static const IfcParse::entity& Class(); IfcWallStandardCase (IfcEntityInstanceData* e); IfcWallStandardCase (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::IfcWallTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcWallStandardCase > list; + typedef aggregate_of< IfcWallStandardCase > list; }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -48831,15 +47181,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcWasteTerminal - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWasteTerminal (IfcEntityInstanceData* e); IfcWasteTerminal (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::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcWasteTerminal > list; + typedef aggregate_of< IfcWasteTerminal > list; }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -49201,46 +47549,36 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: - /// Whether the optional attribute OverallHeight is defined for this IfcWindow - bool hasOverallHeight() const; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// /// NOTE  The body of the window might be taller then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallHeight shall still be given as the window opening height, and not as the total height of the window lining. - double OverallHeight() const; - void setOverallHeight(double v); - /// Whether the optional attribute OverallWidth is defined for this IfcWindow - bool hasOverallWidth() const; + boost::optional< double > OverallHeight() const; + void setOverallHeight(boost::optional< double > v); /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// /// NOTE  The body of the window might be wider then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallWidth shall still be given as the window opening width, and not as the total width of the window lining. - double OverallWidth() const; - void setOverallWidth(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcWindow - bool hasPredefinedType() const; + boost::optional< double > OverallWidth() const; + void setOverallWidth(boost::optional< double > v); /// Predefined generic type for a window that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWindowType is assigned, providing its own IfcWindowType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcWindowTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcWindowTypeEnum::Value v); - /// Whether the optional attribute PartitioningType is defined for this IfcWindow - bool hasPartitioningType() const; + boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v); /// Type defining the general layout of the window in terms of the partitioning of panels. /// /// NOTE The PartitioningType shall only be used, if no type object IfcWindowType is assigned, providing its own IfcWindowType.PartitioningType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value PartitioningType() const; - void setPartitioningType(::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v); - /// Whether the optional attribute UserDefinedPartitioningType is defined for this IfcWindow - bool hasUserDefinedPartitioningType() const; - std::string UserDefinedPartitioningType() const; - void setUserDefinedPartitioningType(std::string v); + boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > PartitioningType() const; + void setPartitioningType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v); + boost::optional< std::string > UserDefinedPartitioningType() const; + void setUserDefinedPartitioningType(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcWindow (IfcEntityInstanceData* e); IfcWindow (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< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType); - typedef IfcTemplatedEntityList< IfcWindow > list; + typedef aggregate_of< IfcWindow > list; }; /// The standard window, /// IfcWindowStandardCase, defines a window with certain @@ -49362,7 +47700,7 @@ public: static const IfcParse::entity& Class(); IfcWindowStandardCase (IfcEntityInstanceData* e); IfcWindowStandardCase (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< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType); - typedef IfcTemplatedEntityList< IfcWindowStandardCase > list; + typedef aggregate_of< IfcWindowStandardCase > list; }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -49403,8 +47741,8 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcActuatorType (IfcEntityInstanceData* e); - IfcActuatorType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcActuatorType > list; + IfcActuatorType (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::IfcActuatorTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcActuatorType > list; }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -49465,15 +47803,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAirTerminal - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAirTerminal (IfcEntityInstanceData* e); IfcAirTerminal (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::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcAirTerminal > list; + typedef aggregate_of< IfcAirTerminal > list; }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -49519,15 +47855,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAirTerminalBox - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAirTerminalBox (IfcEntityInstanceData* e); IfcAirTerminalBox (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::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcAirTerminalBox > list; + typedef aggregate_of< IfcAirTerminalBox > list; }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -49576,15 +47910,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAirToAirHeatRecovery - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAirToAirHeatRecovery (IfcEntityInstanceData* e); IfcAirToAirHeatRecovery (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::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcAirToAirHeatRecovery > list; + typedef aggregate_of< IfcAirToAirHeatRecovery > list; }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -49620,21 +47952,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAlarmType (IfcEntityInstanceData* e); - IfcAlarmType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcAlarmType > list; + IfcAlarmType (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::IfcAlarmTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcAlarmType > list; }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAlignment - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAlignment (IfcEntityInstanceData* e); IfcAlignment (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::IfcAlignmentTypeEnum::Value > v8_PredefinedType); - typedef IfcTemplatedEntityList< IfcAlignment > list; + typedef aggregate_of< IfcAlignment > list; }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -49816,15 +48146,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAudioVisualAppliance - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAudioVisualAppliance (IfcEntityInstanceData* e); IfcAudioVisualAppliance (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::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcAudioVisualAppliance > list; + typedef aggregate_of< IfcAudioVisualAppliance > list; }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -50065,19 +48393,17 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBeam - bool hasPredefinedType() const; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - ::Ifc4x3_rc4::IfcBeamTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcBeamTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBeam (IfcEntityInstanceData* e); IfcBeam (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::IfcBeamTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcBeam > list; + typedef aggregate_of< IfcBeam > list; }; /// The standard beam, /// IfcBeamStandardCase, defines a beam with certain constraints @@ -50336,20 +48662,18 @@ public: static const IfcParse::entity& Class(); IfcBeamStandardCase (IfcEntityInstanceData* e); IfcBeamStandardCase (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::IfcBeamTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcBeamStandardCase > list; + typedef aggregate_of< IfcBeamStandardCase > list; }; class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBearing - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcBearingTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcBearingTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBearing (IfcEntityInstanceData* e); IfcBearing (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::IfcBearingTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcBearing > list; + typedef aggregate_of< IfcBearing > list; }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -50422,15 +48746,13 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBoiler - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBoiler (IfcEntityInstanceData* e); IfcBoiler (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::IfcBoilerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcBoiler > list; + typedef aggregate_of< IfcBoiler > list; }; class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { @@ -50439,7 +48761,7 @@ public: static const IfcParse::entity& Class(); IfcBorehole (IfcEntityInstanceData* e); IfcBorehole (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); - typedef IfcTemplatedEntityList< IfcBorehole > list; + typedef aggregate_of< IfcBorehole > list; }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -50633,15 +48955,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBuildingElementProxy - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBuildingElementProxy (IfcEntityInstanceData* e); IfcBuildingElementProxy (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::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcBuildingElementProxy > list; + typedef aggregate_of< IfcBuildingElementProxy > list; }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -50686,15 +49006,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBurner - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcBurner (IfcEntityInstanceData* e); IfcBurner (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::IfcBurnerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcBurner > list; + typedef aggregate_of< IfcBurner > list; }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -50759,16 +49077,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCableCarrierFitting - bool hasPredefinedType() const; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. - ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCableCarrierFitting (IfcEntityInstanceData* e); IfcCableCarrierFitting (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::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCableCarrierFitting > list; + typedef aggregate_of< IfcCableCarrierFitting > list; }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -50831,16 +49147,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCableCarrierSegment - bool hasPredefinedType() const; /// Identifies the predefined types of cable carrier segment from which the type required may be set. - ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCableCarrierSegment (IfcEntityInstanceData* e); IfcCableCarrierSegment (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::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCableCarrierSegment > list; + typedef aggregate_of< IfcCableCarrierSegment > list; }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -50918,16 +49232,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCableFitting - bool hasPredefinedType() const; /// Identifies the predefined types of cable fitting from which the type required may be set. - ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCableFitting (IfcEntityInstanceData* e); IfcCableFitting (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::IfcCableFittingTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCableFitting > list; + typedef aggregate_of< IfcCableFitting > list; }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -51018,29 +49330,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCableSegment - bool hasPredefinedType() const; /// Identifies the predefined types of cable segment from which the type required may be set. - ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCableSegment (IfcEntityInstanceData* e); IfcCableSegment (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::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCableSegment > list; + typedef aggregate_of< IfcCableSegment > list; }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCaissonFoundation - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCaissonFoundation (IfcEntityInstanceData* e); IfcCaissonFoundation (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::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCaissonFoundation > list; + typedef aggregate_of< IfcCaissonFoundation > list; }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -51113,15 +49421,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcChiller - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcChillerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcChillerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcChiller (IfcEntityInstanceData* e); IfcChiller (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::IfcChillerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcChiller > list; + typedef aggregate_of< IfcChiller > list; }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -51191,15 +49497,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCoil - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcCoilTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCoilTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCoil (IfcEntityInstanceData* e); IfcCoil (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::IfcCoilTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCoil > list; + typedef aggregate_of< IfcCoil > list; }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -51305,15 +49609,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCommunicationsAppliance - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCommunicationsAppliance (IfcEntityInstanceData* e); IfcCommunicationsAppliance (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::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCommunicationsAppliance > list; + typedef aggregate_of< IfcCommunicationsAppliance > list; }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -51363,15 +49665,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCompressor - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCompressor (IfcEntityInstanceData* e); IfcCompressor (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::IfcCompressorTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCompressor > list; + typedef aggregate_of< IfcCompressor > list; }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -51441,15 +49741,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCondenser - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCondenser (IfcEntityInstanceData* e); IfcCondenser (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::IfcCondenserTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCondenser > list; + typedef aggregate_of< IfcCondenser > list; }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -51495,21 +49793,19 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcControllerType (IfcEntityInstanceData* e); - IfcControllerType (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< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcControllerTypeEnum::Value v10_PredefinedType); - typedef IfcTemplatedEntityList< IfcControllerType > list; + IfcControllerType (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::IfcControllerTypeEnum::Value v10_PredefinedType); + typedef aggregate_of< IfcControllerType > list; }; class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: - /// Whether the optional attribute PredefinedType is defined for this IfcConveyorSegment - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcConveyorSegment (IfcEntityInstanceData* e); IfcConveyorSegment (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::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcConveyorSegment > list; + typedef aggregate_of< IfcConveyorSegment > list; }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -51562,15 +49858,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCooledBeam - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCooledBeam (IfcEntityInstanceData* e); IfcCooledBeam (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::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCooledBeam > list; + typedef aggregate_of< IfcCooledBeam > list; }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -51631,15 +49925,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCoolingTower - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcCoolingTower (IfcEntityInstanceData* e); IfcCoolingTower (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::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcCoolingTower > list; + typedef aggregate_of< IfcCoolingTower > list; }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -51714,28 +50006,24 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDamper - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcDamperTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDamperTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDamper (IfcEntityInstanceData* e); IfcDamper (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::IfcDamperTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcDamper > list; + typedef aggregate_of< IfcDamper > list; }; class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDistributionBoard - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionBoard (IfcEntityInstanceData* e); IfcDistributionBoard (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::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcDistributionBoard > list; + typedef aggregate_of< IfcDistributionBoard > list; }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -51770,15 +50058,13 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDistributionChamberElement - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionChamberElement (IfcEntityInstanceData* e); IfcDistributionChamberElement (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::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcDistributionChamberElement > list; + typedef aggregate_of< IfcDistributionChamberElement > list; }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { @@ -51787,7 +50073,7 @@ public: static const IfcParse::entity& Class(); IfcDistributionCircuit (IfcEntityInstanceData* e); IfcDistributionCircuit (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_LongName, boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); - typedef IfcTemplatedEntityList< IfcDistributionCircuit > list; + typedef aggregate_of< IfcDistributionCircuit > list; }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -51869,12 +50155,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcTemplatedEntityList< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements + aggregate_of< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDistributionControlElement (IfcEntityInstanceData* e); IfcDistributionControlElement (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); - typedef IfcTemplatedEntityList< IfcDistributionControlElement > list; + typedef aggregate_of< IfcDistributionControlElement > list; }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -51953,15 +50239,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDuctFitting - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDuctFitting (IfcEntityInstanceData* e); IfcDuctFitting (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::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcDuctFitting > list; + typedef aggregate_of< IfcDuctFitting > list; }; /// A duct segment is used to typically join two sections of duct network. /// @@ -52014,15 +50298,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDuctSegment - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDuctSegment (IfcEntityInstanceData* e); IfcDuctSegment (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::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcDuctSegment > list; + typedef aggregate_of< IfcDuctSegment > list; }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -52068,15 +50350,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDuctSilencer - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDuctSilencer (IfcEntityInstanceData* e); IfcDuctSilencer (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::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcDuctSilencer > list; + typedef aggregate_of< IfcDuctSilencer > list; }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -52178,15 +50458,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricAppliance - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricAppliance (IfcEntityInstanceData* e); IfcElectricAppliance (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::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricAppliance > list; + typedef aggregate_of< IfcElectricAppliance > list; }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -52247,15 +50525,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricDistributionBoard - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricDistributionBoard (IfcEntityInstanceData* e); IfcElectricDistributionBoard (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::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricDistributionBoard > list; + typedef aggregate_of< IfcElectricDistributionBoard > list; }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -52300,28 +50576,24 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricFlowStorageDevice - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricFlowStorageDevice (IfcEntityInstanceData* e); IfcElectricFlowStorageDevice (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::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricFlowStorageDevice > list; + typedef aggregate_of< IfcElectricFlowStorageDevice > list; }; class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricFlowTreatmentDevice - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricFlowTreatmentDevice (IfcEntityInstanceData* e); IfcElectricFlowTreatmentDevice (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::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricFlowTreatmentDevice > list; + typedef aggregate_of< IfcElectricFlowTreatmentDevice > list; }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -52372,15 +50644,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricGenerator - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricGenerator (IfcEntityInstanceData* e); IfcElectricGenerator (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::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricGenerator > list; + typedef aggregate_of< IfcElectricGenerator > list; }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -52425,15 +50695,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricMotor - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricMotor (IfcEntityInstanceData* e); IfcElectricMotor (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::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricMotor > list; + typedef aggregate_of< IfcElectricMotor > list; }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -52478,15 +50746,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricTimeControl - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcElectricTimeControl (IfcEntityInstanceData* e); IfcElectricTimeControl (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::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcElectricTimeControl > list; + typedef aggregate_of< IfcElectricTimeControl > list; }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -52544,15 +50810,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFan - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcFanTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcFanTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFan (IfcEntityInstanceData* e); IfcFan (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::IfcFanTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcFan > list; + typedef aggregate_of< IfcFan > list; }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -52643,15 +50907,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFilter - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcFilterTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcFilterTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFilter (IfcEntityInstanceData* e); IfcFilter (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::IfcFilterTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcFilter > list; + typedef aggregate_of< IfcFilter > list; }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -52721,15 +50983,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFireSuppressionTerminal - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFireSuppressionTerminal (IfcEntityInstanceData* e); IfcFireSuppressionTerminal (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::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcFireSuppressionTerminal > list; + typedef aggregate_of< IfcFireSuppressionTerminal > list; }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -52785,15 +51045,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFlowInstrument - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFlowInstrument (IfcEntityInstanceData* e); IfcFlowInstrument (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::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcFlowInstrument > list; + typedef aggregate_of< IfcFlowInstrument > list; }; class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { @@ -52802,7 +51060,7 @@ public: static const IfcParse::entity& Class(); IfcGeomodel (IfcEntityInstanceData* e); IfcGeomodel (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); - typedef IfcTemplatedEntityList< IfcGeomodel > list; + typedef aggregate_of< IfcGeomodel > list; }; class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { @@ -52811,7 +51069,7 @@ public: static const IfcParse::entity& Class(); IfcGeoslice (IfcEntityInstanceData* e); IfcGeoslice (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); - typedef IfcTemplatedEntityList< IfcGeoslice > list; + typedef aggregate_of< IfcGeoslice > list; }; /// Entity Definition /// @@ -52867,15 +51125,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProtectiveDeviceTrippingUnit - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcProtectiveDeviceTrippingUnit (IfcEntityInstanceData* e); IfcProtectiveDeviceTrippingUnit (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::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnit > list; + typedef aggregate_of< IfcProtectiveDeviceTrippingUnit > list; }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -53013,15 +51269,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSensor - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcSensorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcSensorTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSensor (IfcEntityInstanceData* e); IfcSensor (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::IfcSensorTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcSensor > list; + typedef aggregate_of< IfcSensor > list; }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -53080,15 +51334,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryControlElement - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitaryControlElement (IfcEntityInstanceData* e); IfcUnitaryControlElement (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::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcUnitaryControlElement > list; + typedef aggregate_of< IfcUnitaryControlElement > list; }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -53154,15 +51406,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcActuator - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcActuator (IfcEntityInstanceData* e); IfcActuator (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::IfcActuatorTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcActuator > list; + typedef aggregate_of< IfcActuator > list; }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -53208,15 +51458,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAlarm - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcAlarm (IfcEntityInstanceData* e); IfcAlarm (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::IfcAlarmTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcAlarm > list; + typedef aggregate_of< IfcAlarm > list; }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -53326,15 +51574,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcController - bool hasPredefinedType() const; - ::Ifc4x3_rc4::IfcControllerTypeEnum::Value PredefinedType() const; - void setPredefinedType(::Ifc4x3_rc4::IfcControllerTypeEnum::Value v); + boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > PredefinedType() const; + void setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcController (IfcEntityInstanceData* e); IfcController (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::IfcControllerTypeEnum::Value > v9_PredefinedType); - typedef IfcTemplatedEntityList< IfcController > list; + typedef aggregate_of< IfcController > list; }; };